0

protobuf が一般的に使用される英数字型のサポートを実装していないのはなぜですか? これにより、圧縮が一切行われないため、複数の文字を 1 バイト (大文字と小文字を区別しない場合はより多く) で非常に効果的にエンコードできます。Protobuf 開発者が将来実装する予定のものはありますか?

ありがとう、

4

1 に答える 1

2

0今日のグローバルな世界では、「英数字」が- 9A- Za-の範囲の 62 文字を意味する回数zはごくわずかです。基本的な多言語面だけを考えると、「英数字」としてカウントされる約 48,000 のコード単位 (つまり、使用可能な範囲の 70% 以上) があり、かなり標準的です (ただし、一部の言語ではこれでも最適ではない場合があります)。 locales) それらをエンコードする方法は UTF-8 であり、これは protobuf が既にstringタイプに使用しています。

このカテゴリのデータに専用のワイヤ タイプを使用するメリットはあまりありません。追加のワイヤ タイプには、複数のライブラリへの追加をサポートする必要があるという問題があります。未知のワイヤ タイプは、ストリームを読み取り不能にするためです。 - レベルのパーサー: ワイヤ タイプがわからない場合は、不要なデータをスキップすることさえできません (ワイヤ タイプはスキップ ルールを定義します)。

もちろん、タイプもご用意しておりますので、そのbytesは自由にオーダーメイドしていただけます。

于 2013-10-07T08:26:17.853 に答える