跳至內容

MessagePack

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
MessagePack
原作者Sadayuki Furuhashi
程式語言Various languages
作業系統Any
平台Cross-platform
類型Data interchange
許可協定Apache License
網站msgpack.org

MessagePack是一種計算機數據交換格式。它是一種二進制形式,用於表示簡單的數據結構,如數組和關聯數組。MessagePack 旨在盡可能緊湊和簡單。官方實現有多種語言版本,如C、C++、C#、D、Erlang、Go、Haskell、Java、JavaScript ( NodeJS )、Lua、OCaml、Perl、PHP、Python、Ruby、Scala、Smalltalk和Swift。

官方型別系統將UTF-8字串(String)與位元組陣列(Binary)分為不同型別,另以Extension表示帶有型別標記的應用資料;應用可利用擴充型別儲存未由基本型別直接表達的資料。這些能力不等同於只把JSON文字改用二進位編碼。[1]

範例

[編輯]

官網宣傳表明,我們可以把一個 json 表示的對象輕鬆用二進制轉換,以使得解析更快且傳輸規模更小:

Json(一共佔據了 27 個位元組): {"compact":true,"schema":0}

MessagePack(每一個僅僅佔據一個位元組,一共 18 個位元組): 82(2-elements object), a7(string with length 7), c, o, m, p, a, c, t, c3(true), a6(string with length 6), s, c, h, e, m, a, 00(integer 0)

其他格式

[編輯]

參考資料

[編輯]
  1. ^ MessagePack specification: Type system. MessagePack project. [2026-10-31] (英語). 

外部連結

[編輯]