4 个版本

0.1.0 2020年11月15日
0.0.3 2020年10月1日
0.0.2 2020年9月21日
0.0.1 2020年9月11日

#5 in #multi-format

MIT 许可证

210KB
4K SLoC

Documentation

多格式

一组旨在使系统具有未来兼容性的协议,主要通过增强格式值以实现自描述。这允许互操作性、协议灵活性,并帮助我们避免锁定。

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

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

无符号 varint

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

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

有关详细信息,请参阅unsigned-varint 规范

多基

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

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

有关详细信息,请参阅multibase

多解码器

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

有关详细信息,请参阅multicodec 规范

参考:

活跃的多格式规范列表。

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

依赖关系

~5MB
~101K SLoC