无限变长字符编码方案

■无限变长字符编码方案

【目的】

无限变长编码,不浪费储存空间,一次扫描就能识别字符,乱码不会扩散。

【基础】

字符编码由字节组成,一个字节为8个二进制位,理论上可表示2的8次方个字符。

【方案】

0开头的编码,当其前一个编码以0开头时为ASCLL码;当其前一个编码为1开头时为变长编码尾码。注意:有个0开头的编码不能作为变长编码尾码,那就是文件开头标志编码。

1开头的为变长编码,其会一直向后扫描,直到遇到以0开头的编码时以其作为尾码并标志字符结束,理论上编码可以无限长,且只需扫描一遍就能识别出字符。

【扫描】

扫描到文件开头,然后遇到0开头的就视为ASCLL,遇到1开头就继续扫描,直到遇到0开头的编码时将其作为变长编码尾码,然后遇到1开头就继续扫描,直到遇到0开头的编码时将其作为变长编码尾码,然后遇到0开头的就视为ASCLL……

 

转自:https://zhuanlan.zhihu.com/p/76468961

posted on 2015-05-07 07:31  duanxz  阅读(1347)  评论(0编辑  收藏  举报