Fork me on GitHub

Alex Rupérez

Link: http://j.mp/2SSttQN
Published: 23 Feb 08:17
I starred jverkoey/BinaryCodable at GitHub.
Swift Codable-like interfaces for binary representations.
View on GitHub


View README


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.

Requirements

  • Swift 4.2.2+

Supported technologies

  • iOS 12.0+ / macOS 10.12+
  • Xcode 10.1+
  • Ubuntu 16.04

License

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