MessagePack
Тип | Обмін даними |
---|---|
Автор | Садаюкі Фуругаші (англ. Sadayuki Furuhashi) |
Стабільний випуск | 0.5.7 |
Версії | 0.3.3 (24 червня 2009)[1] |
Платформа | Багатоплатформове ПЗ |
Операційна система | Будь-яка |
Мова програмування | Різні мови |
Стан розробки | Активний |
Ліцензія | Apache License |
Репозиторій | github.com/msgpack/msgpack |
Вебсайт | msgpack.org |
MessagePack — комп’ютерний формат обміну даними, призначений для двійкового представлення простих структур даних наподобі масивів і асоциативних масивів. MessagePack aims to be as compact and simple as possible. Офіційна реалізація існує для багатьох мов програмування, таких як C, C++, C#, D, Erlang, Go, Haskell, Java, JavaScript, Lua, OCaml, Perl, PHP, Python, Ruby, Scala і Smalltalk.[2]
Структури даних і синтаксис
Data structures processed by MessagePack loosely correspond to those used in JSON format. Вони включають перелічені нижче типи елементів:
- значення відсутнє (
nil
) - булеві дані, можливі значення яких є фальш (
false
) і істина (true
) - цілі числа розміром до 64 бітів
- числа з плаваючою комою - IEEE одинарної і подвійної точності
- байтові масиви, які використовуються для представлення стрічкових і двійкових даних
- переліки чи масиви
- асоціативні масиви, мапи чи словники
Порівняння з іншими форматами
MessagePack більш щільний ніж JSON, але має обмеження по розмірах масивів і цілих чисел. З іншого боку, він підтримує бінарні дані і стрічки, кодування яких відмінне від UTF-8.
У порівнянні з BSON, MessagePack щильніше пакує дані. Наприклад BSON потребує закінчення всіх стрічок нульовим байтом та вставлення стрічкових індексів для переліків, але у то же час MessagePack не робить цього. Також MessagePack забезпечує щільніше представлення невеликих цілих чисел, коротких переліків і асоціативних масивів.
Див. також
- JSON
- BSON
- Protocol Buffers
- Apache Thrift
- Apache Avro
- UBJSON
Примітки
Посилання
- Офіційний вебсайт (англ.)
- специфікація MessagePack формату (англ.)
На цю статтю не посилаються інші статті Вікіпедії. Будь ласка розставте посилання відповідно до прийнятих рекомендацій. |