тгТихая грань
ФОРМАТ · BINARY

Protocol Buffers

Схемный бинарный обмен сообщениями с номерами полей.

Проверено: 2026-02-21 · статус: reviewed

Расширения
proto, pb
MIME type
Единого общего зарегистрированного типа для всех protobuf-сообщений нет; встречаются разные значения
Представление
binary
Потоковая обработка
да
Комментарии
нет
Поддержка схемы
Обязателен контракт .proto
Порядок
repeated упорядочен; порядок полей wire не является смыслом
null
Зависит от presence и схемы; общего null нет
Diff
Для .proto — хорошая; для wire — плохая
Архивация
Храните .proto и версию компилятора

Преимущества

  • Компактные типизированные сообщения

Ограничения

  • Поток требует собственного framing

Типичные ошибки

  • Переиспользовать номер удалённого поля

Маленький пример

syntax = "proto3";
message Item { int64 id = 1; string name = 2; }
Среда: protoc, устанавливается отдельно; создаёт example.desc и может заменить его, если файл уже есть. Используйте пустой каталог.
protoc --descriptor_set_out=example.desc example.proto

Связанные форматы