VLQ与Zig-Zag编码的发明者及权威技术文献咨询
嘿!我整理了你需要的相关信息,完全适配你的Internet-Draft撰写需求:
VLQ与Zig-Zag编码:权威引用来源及起源
VLQ(可变长度数量编码)
- 权威出版物:
- 如果你需要适合Internet-Draft的标准文档,DWARF调试格式的官方规范(从DWARF 4开始,该版本同时也是ISO/IEC 14577-1:2013国际标准)明确定义了VLQ的使用方式,这是一个认可度极高的标准来源。
- 学术领域,Peter Fenwick在1996年发表的论文《Variable-Length Codes for Integers》详细论述了VLQ的设计与优化,是很好的理论引用依据。
- RFC 7049(Concise Binary Object Representation, CBOR)中使用了与Protobuf VLQ类似的可变长度整数编码(细节略有差异)。作为RFC标准文档,它非常适合作为你草案中的规范性引用。
- 发明者:VLQ的核心思想是逐步演化而来的——早期电信和数据压缩系统就采用了类似的可变长度整数编码方案。我们如今使用的标准化VLQ实现(比如Protobuf中的版本)大量借鉴了DWARF规范和后续的二进制序列化格式,因此没有单一的“发明者”可以追溯。
Zig-Zag编码
- 权威出版物:
- 最直接的权威来源是Google官方发布的《Protocol Buffers Language Specification》,其中清晰定义了Zig-Zag编码的算法和用途。虽然它不是RFC,但作为被广泛采用的工业标准文档,你可以在草案中引用它,只需注明发布方为Google并标注版本即可。
- 如果你更倾向于引用RFC标准,RFC 7049(CBOR)中定义的负整数编码机制与Zig-Zag编码思路一致(仅实现细节略有不同),这个RFC完全适合作为规范性引用。
- 发明者:Zig-Zag编码由Google的Protocol Buffers团队开发,其中Protobuf的核心开发者之一Kenton Varda主导了该编码方案的设计。它的出现主要是为了解决Protobuf中有符号整数序列化时,补码格式导致的高位空间浪费问题。
给你一个小提示:在撰写Internet-Draft时,引用非RFC文档时可以遵循RFC 7991(Internet-Draft风格指南)的要求,明确标注文档的发布方、版本和获取方式,确保引用的可追溯性。
内容的提问来源于stack exchange,提问作者firegurafiku
相关产品推荐
相关产品推荐

