我们要传输一条数据:
i like like like java do you like a java //共40个字符
通过Ascii码将其转化为对应的二进制形式
按照二进制来传递数据,总长度为359(包括空格)
通常我们不会这么去做,主要是因为我们要传输的数据太长了,很不划算
2)变长编码
我们要传输一条数据:
i like like like java do you like a java //共40个字符
统计各个字符出现的次数
d:1 , y:1 , u:1 , j:2 , v:2 , o:2 , l:4 , k:4 , e:4 , i:5 , a:5 , :9
进行编码格式转化
0 = 1 = a 10 = i 11 = e 100 = k 101 = l 110 = o 111 = v 1000 = j 1001 = u 1010 = y 1011 = d
说明:按照各个字符出现的次数进行编码,原则是出现次数越多,则编码越小,比如空格出现了9次,编码为0,其他依次类推
按照上边给各个字符规定的编码,则我们在传输 i like like like java do you like a java 数据时,编码是
10010110100....
注意:当我们以这样的形式发送数据的时候,接收方接受到数据后并不能很好的识别我们这个编码。
比如 i 是 10
k 是 100
我们读取到前边的 100 的时候可以认为是 10 和 0 也可是100存在歧义



