【发布时间】:2023-07-07 11:29:01
【问题描述】:
我想知道为什么在用可变长度编码 Int 时必须在 Trift CompactProtocol 中交换字节。
示例取自Data Intensive Applications(在线,第 120 页):
Number in Base 10 to be encoded: 1337
1337 in Base 2: 0010100 111001
Encoding first byte: 1|111011|0
Encoding second byte: 0|0010100
如您所见,字节已被交换。这是为什么呢?
附加信息:第一个字节中的第一位表示还有一个字节要到来。第一个字节中的最后一位代表符号(在这种情况下为正)。最后一个符号中的第一位表示没有更多属于该数字的附加字节。
【问题讨论】:
标签: encoding integer thrift variable-length