# Servis Data Binary

Modul-modul yang dijelaskan pada bab ini menyediakan operasi-operasi servis dasar untuk memanipulasi data binary. Operasi lainnya pada data binary, khususnya yang berkaitan dengan format file dan protokol jaringan, dijelaskan pada bagian yang relevan.

Beberapa pustaka yang dijelaskan pada Layanan Pemrosesan Teks juga bekerja dengan format-format binary yang ASCII-compatible (contohnya, `re`) maupun semua data binary (contohnya, `difflib`).

Sebagai tambahan, lihat dokumentasi untuk tipe data binary bawaan Python di Binary Sequence Types --- bytes, bytearray, memoryview.

- `struct` --- Interpret bytes as packed binary data
  - Functions and Exceptions
    - `error`
    - `pack()`
    - `pack_into()`
    - `unpack()`
    - `unpack_from()`
    - `iter_unpack()`
    - `calcsize()`
  - Format Strings
    - Byte Order, Size, and Alignment
    - Format Characters
    - Contoh-contoh
  - Applications
    - Native Formats
    - Standard Formats
  - Kelas-kelas
    - `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
    - Penangan Kesalahan
      - `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
      - Objek StreamWriter
        - `StreamWriter`
          - `write()`
          - `writelines()`
          - `reset()`
      - Objek StreamReader
        - `StreamReader`
          - `read()`
          - `readline()`
          - `readlines()`
          - `reset()`
      - Objek StreamReaderWriter
        - `StreamReaderWriter`
      - Objek StreamRecoder
        - `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