1 个不稳定版本
0.1.0 | 2023 年 11 月 12 日 |
---|
#1590 在 编码 中
15KB
275 行
注意:这不是一个实用的消息格式
Nota 是一种基本的序列化格式,不关心与大多数编程语言的互操作性。它几乎与 MsgPack 和 CBOR 一样紧凑,但缺少更成熟替代品的大多数功能。Nota 不适合高性能解析或序列化。
Nota 使用 它自己的字符串编码,这不是 UTF-8。Nota 将今天几乎所有 CPU 和 GPU 使用的二进制浮点格式称为“过时的”,并使用它自己的十进制二进制大数格式。将标准 IEEE754 浮点数无损地转换为 Nota 的表示形式非常困难,而且这个过程与将浮点数转换为字符串一样低效。
Nota 的设计中突出显示了延续位的概念,但它使用它们的方式不一致。与 CBOR 中的终止符不同,延续位不嵌套,因此 Nota 必须回退到 length+data
方法,这阻止了流式序列化。无法在不解析的情况下跳过记录。字符串长度以代码点为单位,而不是字节,因此无法在预先分配或跳过它们而不解析的情况下准确预分配或跳过,即使使用 Nota 的自己的字符串编码而不是 UTF-8。
不是 JSON
规范 定义了 JSON 的子集类型,但没有定义如何处理其余的类型。
不是一个维护的项目
这是一个实验,看看 Nota 是否值得注意,但它不是。第一个报告错误的人是新维护者。
依赖关系
~1MB
~23K SLoC