# Serviços de Dados Binários

Os módulos descritos neste capítulo fornecem algumas operações de serviços básicos para manipulação de dados binários. Outras operações sobre dados binários, especificamente em relação a formatos de arquivo e protocolos de rede, são descritas nas seções relevantes.

Algumas bibliotecas descritas em Serviços de Processamento de Texto também funcionam com formatos binários compatíveis com ASCII (por exemplo `re`) ou com todos os dados binários (por exemplo `difflib`).

Além disso, consulte a documentação dos tipos de dados binários embutidos do Python em Tipos de Sequência Binária — bytes, bytearray, memoryview.

- `struct` — Interpreta bytes como dados binários empacotados
  - Funções e exceções
    - `error`
    - `pack()`
    - `pack_into()`
    - `unpack()`
    - `unpack_from()`
    - `iter_unpack()`
    - `calcsize()`
  - Format Strings
    - Byte Order, Size, and Alignment
    - Caracteres Formatados
    - Exemplos
  - Applications
    - Native Formats
    - Standard Formats
  - Classes
    - `Struct`
      - `pack()`
      - `pack_into()`
      - `unpack()`
      - `unpack_from()`
      - `iter_unpack()`
      - `format`
      - `size`
- `codecs` — Codec registry and base classes
  - `encode()`
  - `decode()`
  - `lookup()`
  - `CodecInfo`
    - `name`
    - `encode`
    - `decode`
    - `incrementalencoder`
    - `incrementaldecoder`
    - `streamwriter`
    - `streamreader`
  - `getencoder()`
  - `getdecoder()`
  - `getincrementalencoder()`
  - `getincrementaldecoder()`
  - `getreader()`
  - `getwriter()`
  - `register()`
  - `unregister()`
  - `open()`
  - `EncodedFile()`
  - `iterencode()`
  - `iterdecode()`
  - `BOM`
  - `BOM_BE`
  - `BOM_LE`
  - `BOM_UTF8`
  - `BOM_UTF16`
  - `BOM_UTF16_BE`
  - `BOM_UTF16_LE`
  - `BOM_UTF32`
  - `BOM_UTF32_BE`
  - `BOM_UTF32_LE`
  - Codec Base Classes
    - Error Handlers
      - `register_error()`
      - `lookup_error()`
      - `strict_errors()`
      - `ignore_errors()`
      - `replace_errors()`
      - `backslashreplace_errors()`
      - `xmlcharrefreplace_errors()`
      - `namereplace_errors()`
    - Stateless Encoding and Decoding
      - `Codec`
        - `encode()`
        - `decode()`
    - Incremental Encoding and Decoding
      - IncrementalEncoder Objects
        - `IncrementalEncoder`
          - `encode()`
          - `reset()`
          - `getstate()`
          - `setstate()`
      - IncrementalDecoder Objects
        - `IncrementalDecoder`
          - `decode()`
          - `reset()`
          - `getstate()`
          - `setstate()`
    - Stream Encoding and Decoding
      - StreamWriter Objects
        - `StreamWriter`
          - `write()`
          - `writelines()`
          - `reset()`
      - StreamReader Objects
        - `StreamReader`
          - `read()`
          - `readline()`
          - `readlines()`
          - `reset()`
      - StreamReaderWriter Objects
        - `StreamReaderWriter`
      - StreamRecoder Objects
        - `StreamRecoder`
  - Encodings and Unicode
  - Standard Encodings
  - Python Specific Encodings
    - Text Encodings
    - Binary Transforms
    - Text Transforms
  - `encodings.idna` — Internationalized Domain Names in Applications
    - `nameprep()`
    - `ToASCII()`
    - `ToUnicode()`
  - `encodings.mbcs` — Windows ANSI codepage
  - `encodings.utf_8_sig` — UTF-8 codec with BOM signature