Protoにchar/byte型を含めることができるかどうかがわかりません。
私はここでさまざまなタイプを見ることができます:
しかし、バイト型やint16型さえも見つかりません。
いいえ、固定の1バイト型はありません。固定長には、4バイトと8バイトのバリアントのみがあります。他のほとんどの数値は「varint」としてエンコードされます。これは大きさに応じて可変長です(そして符号ですが、そこでは「ジグザグ」が機能します)。したがって、値が0〜127のバイトを1バイトに、128〜255のバイトを2バイトに格納できます。 16ビット値は、大きさ(および符号/ジグザグなど)に応じて1〜3バイトかかります。
倍数の場合、8ビットバージョンには「バイト」があり、残りには「パック」があります。これにより、値ごとのフィールドヘッダーのコストが回避されます。