ФОРМАТ · BINARY
MessagePack
Бинарная сериализация массивов, map и скалярных значений.
- Расширения
- msgpack, mpk
- MIME type
- Единого зарегистрированного типа нет; встречается application/msgpack
- Представление
- binary
- Потоковая обработка
- да
- Комментарии
- нет
- Поддержка схемы
- Внешний контракт
- Порядок
- Массивы упорядочены; map не следует трактовать как упорядоченный
- null
- nil
- Diff
- Бинарный diff мало полезен
- Архивация
- Документируйте extension types
Преимущества
- Есть бинарные значения и целочисленные типы
Ограничения
- Расширения зависят от приложения
Типичные ошибки
- Считать произвольный поток самодокументируемым
Маленький пример
81 a2 69 64 01 # hex: map {"id": 1}Среда: Python 3; сверка ровно одного известного бинарного образца, не общий валидатор.
python3 -c "from pathlib import Path; assert Path('example.msgpack').read_bytes() == bytes.fromhex('81 a2 69 64 01'); print('Сверен известный образец, не общий парсер')"