首页
社区
课程
招聘
二进制数据与文本数据的传输效率上有什么差异?
发表于: 2014-11-12 10:13 7002

二进制数据与文本数据的传输效率上有什么差异?

2014-11-12 10:13
7002
最近看一些文章,经常说,两种不同的协议,二进制数据的传输效率相较于文本格式数据更高。
请问他们之间的差异是怎么产生的? 都是传输二进制数据,为何文本编码格式的传输效率与纯二进制数据有差??

是因为二进制数据可以任意用任意位代表一个意思,而文本格式一般是定长编码,并以一些特殊的标识作为标记,所以二进制数据的长度可以更为精简于文本格式吗?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 396
活跃值: (838)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
文本是用来让人理解的,而人能直接理解的东西多数情况下计算机不能直接理解,计算机只认二进制,二进制就是计算机的文本
例如DWORD 0x12345678
字符串=>0a 30 78 31 32 33 34 35 36 37 38,由于可能省略前导0所以是不定长的,需要一个字节储存长度。使用时需要转换。
二进制=>78 56 34 12,定长不需要额外字节,读取时直接读取即可,基本没有额外开销。
2014-11-12 10:33
0
雪    币: 5153
活跃值: (3387)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
是在说编码长度? 最终传输的都不是二进制么?
有点不明白这句话了~
2014-11-12 10:35
0
雪    币: 5153
活跃值: (3387)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
请教socket不是结构化的转换成byte[]后传输么的么?如何才能转换成二进制传输? 请不要嘲笑无知~
2014-11-12 10:42
0
雪    币: 55
活跃值: (519)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
5
[QUOTE=lylxd;1330198]请教socket不是结构化的转换成byte[]后传输么的么?如何才能转换成二进制传输? 请不要嘲笑无知~[/QUOTE]

我觉得二进制传输这个问题上,主要应指数据是否需要经过处理,或者勉强说为“数据类型”。
就如楼上所说,0x12345678和"0x12345678"是不一样的。虽然都代表了十六进制12345678,但是区别在于一个可以直接被使用,而且占用的字节数较少。文本则占用较大,而且要有编码涉及进去。 虽然都是变成0和1的二进制数据,但是它们的长度就不同了。
至于汉字的话,我想应该没有什么不同。。似乎没有这两个不同概念
2014-11-12 10:48
0
雪    币: 11
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
就传输来讲,数据都没有区别,在应用层上传输数据,都是byte流。传输的效率高低,无从谈起。
2014-11-12 14:21
0
雪    币: 19
活跃值: (1086)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
电流的高低就是二进制
2014-11-12 14:54
0
游客
登录 | 注册 方可回帖
返回
//