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

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

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

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

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

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

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