Messagepack原理(更快更小的JSON)
2018-01-21 本文已影响0人
艺匠之美
什么是Messagepack?
用官方的话说:MessagePack是一种高效的二进制序列化格式。它允许您像JSON一样在多个语言之间交换数据。但是,它更快并且更小。小整数被编码为一个字节,和典型的短字符串只需要除了字符串本身的一个额外字节。
笔者认为用一句可总结:结构和JSON一样,比JSON更小更快!
相信对于初学者来说:如何快速将Messagepack引入项目,快速集成,是我们当前必须面临的问题。博文手把手教你,后续提供JAVA版的发送和接收功能(Messagepack的序列化与反序列化),说不多说,请跟进博主的脚步,学习messagepack的理论知识。
基于官方解释:JSON为什么会变小了?
标准json格式,占27个字符我们都知道上文json总长度占27个字符,这属于JSON的标准格式,心细的你发现:引号(")、布尔型等在JSON中出现了多次,能否将多次出现的长字符用一些简易的短字符去描述,这就是Messagepack底层的理论支持。
采用Messagepack转换后的格式如下,我们将长JSON再次减短,节省网络传输带宽,提高传输效率和存储效率。
序列化后的json占18个字符解释为:82开始代表有2两个json字段;a7代表后续紧跟7个字符是json字段名;c3代表值为true;a6代表后续有6个字符;0代表值为零。
PS:不考虑复杂格式,解析办法为将收到到的字符按照占位分成五个,即可实现json的还原。一个很短JSON减少了9个字符,这就是messagepack的强大之处。
后续我将提供messagepack的实例代码和进阶,请关注qq群:431046942 或 431156111,包含更多的实例代码。
转载请注明出去,请在显眼的地方标注本文链接,谢谢!