# 7. バイナリデータ処理

この章で紹介されているモジュールはバイナリデータを扱うための基本的な処理を提供しています。ファイルフォーマットやネットワークプロトコルなど、その他のバイナリデータ処理については、それぞれの節で解説されています。

テキスト処理サービス で紹介する一部のライブラリには、 ASCII 互換のバイナリフォーマットで利用できるもの (例: `re`) や 、すべてのバイナリデータで利用できるもの (例: `difflib`) があります。

加えて、 バイナリシーケンス型 --- bytes, bytearray, memoryview に書かれているPythonビルトインデータ型についても参照してください。

- 7.1. `struct` --- バイト列をパックされたバイナリデータとして解釈する
  - 7.1.1. 関数と例外
  - 7.1.2. 書式文字列
    - 7.1.2.1. バイトオーダ、サイズ、アラインメント
    - 7.1.2.2. 書式指定文字
    - 7.1.2.3. 使用例
  - 7.1.3. クラス
- 7.2. `codecs` --- codec レジストリと基底クラス
  - 7.2.1. Codec 基底クラス
    - 7.2.1.1. エラーハンドラ
    - 7.2.1.2. ステートレスなエンコードとデコード
    - 7.2.1.3. インクリメンタルなエンコードとデコード
      - 7.2.1.3.1. IncrementalEncoder オブジェクト
      - 7.2.1.3.2. IncrementalDecoder オブジェクト
    - 7.2.1.4. ストリームのエンコードとデコード
      - 7.2.1.4.1. StreamWriter オブジェクト
      - 7.2.1.4.2. StreamReader オブジェクト
      - 7.2.1.4.3. StreamReaderWriter オブジェクト
      - 7.2.1.4.4. StreamRecoder オブジェクト
  - 7.2.2. エンコーディングと Unicode
  - 7.2.3. 標準エンコーディング
  - 7.2.4. Python 特有のエンコーディング
    - 7.2.4.1. テキストエンコーディング
    - 7.2.4.2. バイナリ変換 (Binary Transforms)
    - 7.2.4.3. テキスト変換 (Text Transforms)
  - 7.2.5. `encodings.idna` --- アプリケーションにおける国際化ドメイン名 (IDNA)
  - 7.2.6. `encodings.mbcs` --- Windows ANSI コードページ
  - 7.2.7. `encodings.utf_8_sig` --- BOM 印付き UTF-8