最近有个项目涉及到php/j2me/python, 研究了下Google Protocol Buffers, 发现它的特性(语言无关,向后兼容性)就是我想要的, 就是它了。
Google Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++、Java、Python 三种语言的 API。
Protobuf 的优点:
1.序列化后的数据小, 性能高,比 XML 小 3 到 10 倍,快 20 到 100 倍。
2.“向后”兼容性好
3.语义清晰
4.无需写序列化、反序列化操作
Java ME和PHP的第三方实现:
Java ME: http://code.google.com/p/protobuf-javame/
Java ME: http://swingme.sourceforge.net/encode.shtml
Java ME: http://github.com/ponderingpanda/protobuf-j2me
Java ME: http://code.google.com/p/protobuf-j2me/
PHP: http://code.google.com/p/pb4php/
NetBeans IDE plugin: http://code.google.com/p/protobuf-netbeans-plugin/
Third-Party Add-ons for Protocol Buffers http://code.google.com/p/protobuf/wiki/ThirdPartyAddOns
Google Protocol Buffer 的使用和原理 http://blog.csdn.net/heiyeshuwu/archive/2011/05/24/6443251.aspx