Кодировщик varint для Protocol Buffers

Введите беззнаковое целое число, чтобы закодировать его как varint protobuf.

Как пользоваться

  1. Введите нужные значения в поля.
  2. Нажмите «Рассчитать», чтобы увидеть результат.
  3. Скопируйте или поделитесь результатом с помощью кнопки «Поделиться».

Об этом калькуляторе

Protocol Buffers, двоичный формат сериализации от Google, кодирует целые числа с помощью varint по основанию 128, чтобы экономить место на малых числах: каждый байт несёт 7 бит значения плюс бит «продолжения» (старший бит), который равен 1, если далее следуют ещё байты, и 0 в последнем байте. Это значит, что малые целые числа — а их подавляющее большинство в реальных сообщениях protobuf, например длины полей, значения перечислений и идентификаторы, — кодируются всего одним байтом вместо четырёх или восьми, которые всегда занимало бы целое число фиксированной ширины, и именно поэтому сообщения protobuf остаются такими компактными при передаче.

Калькулятор принимает целое число без знака и кодирует его в последовательность байтов varint, показывая каждый байт в шестнадцатеричном и двоичном виде, чтобы вы видели биты продолжения в работе. Бэкенд-инженеры, отлаживающие проблему с форматом protobuf при передаче, разработчики, пишущие собственный парсер или сериализатор protobuf без сгенерированной библиотеки, и студенты, изучающие схемы двоичного кодирования, используют его, чтобы вручную проверить, что байтовое кодирование значения совпадает с тем, что выдаёт их код или чего он ожидает.

Была ли эта страница полезной?

Можно выбрать до 3 реакций.

Комментарии

  • Оставьте первый комментарий.

Популярные калькуляторы

Все калькуляторы