欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

跨平台数据传递方法

程序员文章站 2022-06-10 21:55:10
...

一.二进制 

        无法直接阅读,需在二进制层面编码解码;  格式由厂商定义,特定应用需要表示的对象很复杂时,格式也非常复杂,例如office文件格式;  通常需要充分考虑协议的扩展性、兼容性,例如windows的文件格式,

DOS header、COFF header、PE、CLR header等;相对于文本形式,体积小,编码、解码可以更高效; 

 

二.XML 

        文本协议,可以阅读;严格的格式要求;运用广泛,相关技术比较丰富,例如DTD、XPath、XLink、XPoint、XSLT等;

<site>
    <name>sina</name>
    <url>http://www.sina.com.cn</url>
</site> 
<site>      
    <name>google</name>      
    <url>http://www.google.com</url> 
</site>

 

三.JSON

        文本协议,易于阅读;  相比于XML,语法更简单,体积更小,有javascript语言的标准支持。缺少引用概念(XLink、XPoint),缺少路径概念(XPath);  XML用于更通用的目的,JSON更适合于数据交互的环境(尤其是web环境);  

        JSON基于 javascript语言ECMA 262 3rd Edition,现在趋向于成为一种跨语言的数据交互格式  完整的格式最初由RFC4627定义,直观的 syntax diagram以及各语言的支持类库参考json.org

{"UserID":11, "Name":"Truly", "Email":"zhuleipro◎hotmail.com"};

 

四. YAML  

        文本协议,易于阅读;YAML的语法比JSON复杂,JSON可以看作YAML的一个子集。也正因为语法规范较复杂,不同的YAML库对某些特征的处理也可能不一样。

        YAML与XML的比较:  

        a.YAML的可读性好。

        b.YAML和脚本语言的交互性好。

        c.YAML使用实现语言的数据类型。

        d.YAML有一个一致的信息模型。

        e.YAML易于实现。  

        上面5条也就是XML不足的地方。同时,YAML也有XML的下列优点:

        a.YAML可以基于流来处理;

        b.YAML表达能力强,扩展性好。  

        教程:http://www.cnblogs.com/wengjinbao/articles/652031.html

name: John Smith 
age: 37 
spouse:      
    name: Jane Smith     
    age: 25 
children:      
    -   name: Jimmy Smith         
        age: 15      
    -   name: Jenny Smith         
        age 12

 

文章来源:http://wenku.baidu.com/link?url=en4lBrFK0UxnuzDowWRY0qX-GZrjwGRO0Kd2LslkOqVqlqj9TMOdlawT_DHG9v4LYJ6vRv4316czPIxA6DdfDJlri1EfVR-IoFLXp_t9HNC