protobuf が一般的に使用される英数字型のサポートを実装していないのはなぜですか? これにより、圧縮が一切行われないため、複数の文字を 1 バイト (大文字と小文字を区別しない場合はより多く) で非常に効果的にエンコードできます。Protobuf 開発者が将来実装する予定のものはありますか?
ありがとう、
protobuf が一般的に使用される英数字型のサポートを実装していないのはなぜですか? これにより、圧縮が一切行われないため、複数の文字を 1 バイト (大文字と小文字を区別しない場合はより多く) で非常に効果的にエンコードできます。Protobuf 開発者が将来実装する予定のものはありますか?
ありがとう、
0
今日のグローバルな世界では、「英数字」が- 9
、A
- Z
、a
-の範囲の 62 文字を意味する回数z
はごくわずかです。基本的な多言語面だけを考えると、「英数字」としてカウントされる約 48,000 のコード単位 (つまり、使用可能な範囲の 70% 以上) があり、かなり標準的です (ただし、一部の言語ではこれでも最適ではない場合があります)。 locales) それらをエンコードする方法は UTF-8 であり、これは protobuf が既にstring
タイプに使用しています。
このカテゴリのデータに専用のワイヤ タイプを使用するメリットはあまりありません。追加のワイヤ タイプには、複数のライブラリへの追加をサポートする必要があるという問題があります。未知のワイヤ タイプは、ストリームを読み取り不能にするためです。 - レベルのパーサー: ワイヤ タイプがわからない場合は、不要なデータをスキップすることさえできません (ワイヤ タイプはスキップ ルールを定義します)。
もちろん、タイプもご用意しておりますので、その中bytes
は自由にオーダーメイドしていただけます。