- 主题:python和java之间通信的序列化,有比protobuf更简单的方案吗?
json, msgpack, xml
【 在 elephant (elephant) 的大作中提到: 】
: 因为消息中的字段主要是数字,而且考虑到带宽消耗,目前倾向于protobuf。
: 但是protobuf还是比较繁琐,有没有更好的办法?
--
FROM 110.81.15.*
是啊。很浪费带宽。我不爱用这东东。
protobuf 需要写描述文件。我也不爱用。
我最喜欢的序列化标准是 msgpack. 非常节省带宽,而且还支持二进制字符串,以及日期时间。
【 在 elephant (elephant) 的大作中提到: 】
: json和xml对于打包数字,好像不如protobuf,比较浪费带宽?
--
FROM 47.243.39.*
反序列化的时候很麻烦啊。来回转换 base64,而 msgpack 直接存储二进制数据。
msgpack 对于 java, python, cpp 这几个能直接控制二进制数据的特别友好。
【 在 oldwatch (一条叫java的鱼◎城内风光独好) 的大作中提到: 】
: 有人试过gzip之后的json/xml相比二进制流会大多少么?
--
FROM 47.243.39.*
msgpack, protobuf 同样也可以 gzip 压缩啊。
json 支持 array, 比 xml 每次写 tag 省点字间。
【 在 oldwatch (一条叫java的鱼◎城内风光独好) 的大作中提到: 】
: 主要是想起来Eric.Raymond在《Unix编程艺术》里说
: 面向文本的协议可以通过zip压缩来规避尺寸大的缺点而保留其他优点
--
FROM 47.243.39.*