0

我想知道为什么 protobuf 没有实现对常用字母数字类型的支持?这将允许非常有效地在仅字节中编码几个字符(如果不区分大小写,则更多),因为不涉及任何类型的压缩。Protobuf 开发人员是否计划在未来实现它?

谢谢,

4

1 回答 1

2

在当今的全球化世界中,“字母数字”表示0- 9A-Za-范围内的 62 个字符的次数z相当少。如果我们只考虑基本的多语言平面,大约有 48k 代码单元(也就是说:超过 70% 的可用范围)被视为“字母数字” - 并且是相当标准的(尽管在某些情况下这可能不是最理想的) locales) 对它们进行编码的方式是 UTF-8,protobuf 已经将其用于该string类型。

我看不出为此类数据使用专用线型有多大优势,并且任何额外的线型都会存在需要支持在多个库中添加的问题,因为未知的线型会使流无法读取级解析器:如果您不知道线型(线型定义跳过规则),您甚至不能跳过不需要的数据。

当然,既然你也有bytes可用的类型,你可以随意在里面做任何你想做的定制。

于 2013-10-07T08:26:17.853 回答