# バイナリデータ処理

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

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

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

- `struct` --- バイト列をパックされたバイナリデータとして解釈する
  - 関数と例外
  - 書式文字列
    - バイトオーダ、サイズ、アラインメント
    - 書式指定文字
    - 使用例
  - アプリケーション
    - Native Formats
    - Standard Formats
  - クラス
- `codecs` --- codec レジストリと基底クラス
  - Codec 基底クラス
    - エラーハンドラ
    - ステートレスなエンコードとデコード
    - インクリメンタルなエンコードとデコード
      - IncrementalEncoder オブジェクト
      - IncrementalDecoder オブジェクト
    - ストリームのエンコードとデコード
      - StreamWriter オブジェクト
      - StreamReader オブジェクト
      - StreamReaderWriter オブジェクト
      - StreamRecoder オブジェクト
  - エンコーディングと Unicode
  - 標準エンコーディング
  - Python 特有のエンコーディング
    - テキストエンコーディング
    - バイナリ変換 (Binary Transforms)
    - Standalone Codec Functions
    - テキスト変換 (Text Transforms)
  - `encodings` --- Encodings package
  - `encodings.idna` --- アプリケーションにおける国際化ドメイン名 (IDNA)
  - `encodings.mbcs` --- Windows ANSI コードページ
  - `encodings.utf_8_sig` --- BOM 印付き UTF-8