24

プロトで char / byte 型を使用できるかどうかわかりません。

ここでさまざまなタイプを見ることができます:

しかし、バイト型や int16 型さえも見つかりません。

4

1 に答える 1

28

いいえ、固定の 1 バイト型はありません。固定長には、4 バイトと 8 バイトのバリアントのみがあります。他のほとんどの数値は、「varint」としてエンコードされます。これは、大きさに応じて可変長です (および符号ですが、「ジグザグ」が作用します)。したがって、値が 0 ~ 127 のバイトを 1 バイトに、128 ~ 255 を 2 バイトに格納できます。16 ビット値は、大きさ (および符号 / ジグザグなど) に応じて 1 ~ 3 バイトかかります。

倍数の場合、8 ビット バージョンには「バイト」があり、残りは「パック」です。これにより、値ごとのフィールド ヘッダーのコストが回避されます。

于 2013-07-22T10:56:23.433 に答える