Skip to content

Swift Codable-like interfaces for binary representations.

License

Notifications You must be signed in to change notification settings

jverkoey/BinaryCodable

Repository files navigation

Binary Codable

Binary Codable provides Swift Codable-like interfaces for converting types to and from binary representations.

Binary Codable is optimized for reading and writing blocks of binary data as a stream of bytes. This makes Binary Codable useful for network protocols, binary file formats, and other forms of tightly-packed binary information.

This is not an official Google product.

Features

  • Encode from Swift types to Data.
  • Decode from Data to Swift types.
  • Efficiently encode/decode large blocks of arbitrary data.
  • Lazy decoding (read bytes from a source only as they're needed).
  • Encode and decode fixed-width integer types.
  • Encode and decode strings with or without terminators.
  • Cap decoding containers to a maximum length.

Known usage in the wild

  • BinaryCookies: Read and write Apple's .binarycookies files.
  • MySqlConnector: A pure Swift implementation of the MySql client/server protocol.

Supported technologies

  • iOS 13.0+ / macOS 10.15+
  • Xcode 11.5+
  • Ubuntu 16.04
  • Swift 5.2

License

BinaryCodable is released under the Apache 2.0 license. See LICENSE for more details.