- 主题:python和java之间通信的序列化,有比protobuf更简单的方案吗?
要省流肯定是基于二进制流的优于一切基于文本的
【 在 elephant (elephant) 的大作中提到: 】
: json和xml对于打包数字,好像不如protobuf,比较浪费带宽?
--
FROM 116.233.89.*
有人试过gzip之后的json/xml相比二进制流会大多少么?
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 是啊。很浪费带宽。我不爱用这东东。
: protobuf 需要写描述文件。我也不爱用。
: 我最喜欢的序列化标准是 msgpack. 非常节省带宽,而且还支持二进制字符串,以及日期时间。
: ...................
--
FROM 116.233.89.*
其实我想的是直接蹭Http协议的gzip压缩
当然了,用http这种应用层协议估计已经为性能爱好者不齿了……
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 反序列化的时候很麻烦啊。来回转换 base64,而 msgpack 直接存储二进制数据。
: msgpack 对于 java, python, cpp 这几个能直接控制二进制数据的特别友好。
--
FROM 116.233.89.*
主要是想起来Eric.Raymond在《Unix编程艺术》里说
面向文本的协议可以通过zip压缩来规避尺寸大的缺点而保留其他优点
【 在 rexxie (kingofcrabs) 的大作中提到: 】
: 肯定大不了多少,甚至更少,二进制其实还可以压缩,
: 看压缩率吧,文本的压缩率超级大
--
FROM 116.233.89.*
本质上其实是用定长(char)存储和冗余(结构化数据)开销换高容错
【 在 Bernstein (Berns) 的大作中提到: 】
: 文本协议除了可以让人眼看,基本上没有啥优点
: 当然要设计到pdf那种水准,也很困难
--
FROM 116.233.89.*