为什么protobuf不支持字母数字类型?

时间:2013-10-07 05:14:44

标签: protocol-buffers

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

谢谢,

1 个答案:

答案 0 :(得分:2)

在今天的全球世界中,“字母数字”表示0 - 9A - Z和{{1}范围内的62个字符的次数} - a相当小。如果我们只考虑基本的多语言平面,那么大约有48k代码单元(也就是说:可用范围的70%以上)被计为“字母数字” - 并且是一个相当标准的(尽管在某些情况下这甚至可能不是最优的) locales)编码它们的方式是UTF-8,protobuf已经用于z类型。

对于此类数据使用专用线型,我看不出太多优势,任何其他线型会产生需要支持添加多个库的问题,因为未知的wire-type 将流不可读呈现给下层解析器:如果你不知道wire-type(wire-type定义跳过规则),你甚至不能跳过不需要的数据。 / p>

当然,既然你也有string类型,你可以随意做任何想要内的