通信、数据、平台无关性(类型 编码 格式)

本文探讨了跨平台通信中的数据格式选择问题,包括平台无关性的实现方式、不同语言环境下的数据结构表现形式及其统一方法,并介绍了通信层与应用层对于数据的不同需求。

平台无关性:

byte;

json;

unicode编码;

char串;

 

数据结构的语言相关性:

iOS:NSDictionary;

java:  HashMap

同一种格式的数据,在不同的语言环境中有不同的表现形式;

要在不同的语言环境间通信,需要一个双方都能接受的转换空间,实现不同语言环境中数据类型的统一。

 

因为通信的双方是基于不同的平台和不同的语言环境的,所以通信时需要双方都能接受的格式和数据形式。

通信时通信层传输的数据应该是平台语言无关的。这就要求它们是bytes。

 

数据格式的层级:

组织格式(图片存贮文件:基于无编码)(json:基于编码)

编码格式:(无编码:byte))(uncode编码:人类可阅读符号);

byte:(底层,与平台格式无关)。

 

通信层与应用层:

通信层:要求的数据与语言平台都无关系。

应用层:需要知道数据的组成格式。

 

这就要求有额外的信息来说明数据格式类型;

在http协议中使用content-type标示。

在tcp协议中无相关字段,所以需要通信双方通过其它渠道协商。

 

http协议缺省使用utf8编码来表述控制头信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值