1 个不稳定版本

0.0.4 2020年10月11日

#1492 in 编码

MIT 许可证

315KB
6K SLoC

Documentation

多格式

这是一组旨在为今天的系统提供未来保障的协议。它们主要通过增强格式值以自我描述来实现。这允许互操作性、协议灵活性和帮助我们避免锁定。

协议的自我描述方面有一些规定

  • 它们必须是 in-band(与值一起);而不是 out-of-band(在上下文中)。
  • 它们必须避免 锁定 并促进可扩展性。
  • 它们必须是 紧凑的 并具有一个 二进制打包表示
  • 它们必须有一个 可读性强的表示

无符号 varint

所有多格式中使用的 VARiable INTeger 格式。编码如下

  • 无符号整数每次序列化 7 位,从最低位开始。
  • 每个输出字节中的最高位(msb)指示是否存在一个后续字节(msb = 1)。
  • 没有有符号整数。
  • 整数是最小化编码的。

有关详细信息,请参阅 无符号 varint 规范

多基

基数编码是将二进制数据转换为纯文本。有几个基数编码定义可以将二进制数据转换为通常为 ASCII 代码的小子集。目的,

  • 可打印字符集。
  • 向后兼容的桥梁。
  • 当通道不能、不允许二进制数据时。

有关详细信息,请参阅 多基

多解码器

多解码器是一个协议表。它设计用于二进制表示,如密钥或标识符(即 CID)。在 table.csv 中找到多解码器的规范表。

有关详细信息,请参阅 多解码器规范

参考:

活跃的多格式规范列表。

还有其他实现可能更适合您的需求

依赖项

~10–23MB
~340K SLoC