Messagepack原理(更快更小的Json)

什麼是Messagepack?

  用官方的話說:MessagePack是一種高效的二進制序列化格式。它允許您像JSON一樣在多個語言之間交換數據。但是,它更快並且更小。小整數被編碼爲一個字節,和典型的短字符串只需要除了字符串本身的一個額外字節。

 筆者認爲用一句可總結:結構和JSON一樣,比JSON更小更快!

 相信對於初學者來說:如何快速將Messagepack引入項目,快速集成,是我們當前必須面臨的問題。博文手把手教你,後續提供JAVA版的發送和接收功能(Messagepack的序列化與反序列化),說不多說,請跟進博主的腳步,學習messagepack的理論知識。

      基於官方解釋:JSON爲什麼會變小了?

 



 我們都知道上文json總長度佔27個字符,這屬於JSON的標準格式,心細的你發現:引號(")、布爾型等在JSON中出現了多次,能否將多次出現的長字符用一些簡易的短字符去描述,這就是Messagepack底層的理論支持。

  採用Messagepack轉換後的格式如下,我們將長JSON再次減短,節省網絡傳輸帶寬,提高傳輸效率和存儲效率。

      

 解釋爲:82開始代表有2兩個json字段;a7代表後續緊跟7個字符是json字段名;c3代表值爲true;a6代表後續有6個字符;0代表值爲零。

       PS:不考慮複雜格式,解析辦法爲將收到到的字符按照佔位分成五個,即可實現json的還原。一個很短JSON減少了9個字符,這就是messagepack的強大之處。

       後續我將提供messagepack的實例代碼和進階,請關注qq羣:431046942 或 431156111,包含更多的實例代碼。

       轉載請註明出去,請在顯眼的地方標註本文鏈接,謝謝!



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章