MessagePack为什么比Json更小更快

MessgePack和Json都是常见的数据交换格式。Json更常见一些,MessagePack与之类似,但是更小更快。

在这里插入图片描述

参见官方解释图:
上面是原始json,27个字节。
下面是用MessagePack打包过的信息,主要思想就是将json中一些重复出现的符号(如括号、冒号、逗号等)用更精简的方式来表示。具体在这个例子中,用82表示有两个map,A7表示一个7字节的字段,C3表示true,00表示整数0。经过打包,大小由27字节缩减为18字节。

MessgePacker和Json在使用中的另一点不同是,MessagePacker对class的一致性要求更高。例如,打包和解包用到的class所有字段必须完全一致,如果发生字段的增删,则解包一定失败;而Json则不会,反序列化时只要保证json和class中存在同名字段,即可自动填充。

在实际的游戏开发过程中,使用MessagePack可以减小数据的传输量,因此较多用在前后端通信,或者服务器与服务器之间的RPC通信中。常用的还有protobuf,本质上都是一种二进制的数据交换方式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值