Какой тип данных я использую для хранения одного байта в сообщении буфера протокола? Видя список в https://developers.google.com/protocol-buffers/docs/proto#scalar, кажется, что один из типов * int32 лучше всего подходит. Есть ли более эффективный способ хранения одного байта?Хранить один байт в сообщении protobuf
2
A
ответ
2
Ну, вам нужно понять, что в любом случае потребуется как минимум два байта - один для тега и один для данных. (Тег займет больше места, если номер поля высок.) Если вы используете uint32
, для данных для значений до 127 и 1 байта потребуется 1 байт и 2 байта для чего-либо большего.
Я не верю, что есть что-то, что будет более эффективным, чем это.
Смежные вопросы
- 1. Как хранить один байт памяти в Python?
- 2. Как распечатать значения в сообщении protobuf
- 3. protobuf в avro закодированном сообщении на kafka
- 4. Как представить UUID в сообщении protobuf?
- 5. Поток protobuf байт в файл (python)
- 6. Есть один-байтовый тип в protobuf?
- 7. Хранить байт int в MIPS
- 8. Хранить байт [] в BLOB Oracle
- 9. Java: эффективно хранить объекты Protobuf в MySQL
- 10. Как хранить время в Protobuf 3
- 11. Список байт [] в один большой байт []
- 12. Сохранение 3 различных значений в один байт
- 13. Неисправные теги группы, обнаруженные в сообщении - protobuf-net
- 14. Акка (JVM): сериализовать actorref с Protobuf в другом сообщении
- 15. Как получить тип переменной, определенный в сообщении protobuf?
- 16. Как хранить несколько байт-массивов
- 17. Хранить байт [] в MongoDB с использованием Java
- 18. C++ - хранить байт [4] в int
- 19. Protobuf конкатенация сериализованных сообщений в один файл
- 20. Как поместить конкретный байт из массива байтов в один байт
- 21. Пробовал хранить изображение в sqlite, и когда я пытаюсь его восстановить, это один байт, а не 2 миллиона байт.
- 22. Преобразование INT в один байт в Go
- 23. Преобразование int в один байт в строке?
- 24. Linux C прочитал один байт?
- 25. Опция повторного сообщения Protobuf
- 26. Сколько данных может хранить MQTT в одном сообщении?
- 27. Отправить один байт net.Conn Go
- 28. как хранить точный один байт в переменной и выводить то же самое
- 29. Преобразование массива с битами в один байт
- 30. Только один байт доступен в Base64InputStream
Почему до 127 и не до 255? – VladL
@ VladL: Из-за формата varint - верхний бит каждого байта является фактически продолжением бит. –