MessagePack

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
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 забезпечує щільніше представлення невеликих цілих чисел, коротких переліків і асоціативних масивів.

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. Release 0.3.3 — 2009.
  2. Implementation Projects. Архів оригіналу за 23 липня 2014. Процитовано 28 травня 2013.

Посилання[ред. | ред. код]