无限变长字符编码方案
■无限变长字符编码方案
【目的】
无限变长编码,不浪费储存空间,一次扫描就能识别字符,乱码不会扩散。
【基础】
字符编码由字节组成,一个字节为8个二进制位,理论上可表示2的8次方个字符。
【方案】
0开头的编码,当其前一个编码以0开头时为ASCLL码;当其前一个编码为1开头时为变长编码尾码。注意:有个0开头的编码不能作为变长编码尾码,那就是文件开头标志编码。
1开头的为变长编码,其会一直向后扫描,直到遇到以0开头的编码时以其作为尾码并标志字符结束,理论上编码可以无限长,且只需扫描一遍就能识别出字符。
【扫描】
扫描到文件开头,然后遇到0开头的就视为ASCLL,遇到1开头就继续扫描,直到遇到0开头的编码时将其作为变长编码尾码,然后遇到1开头就继续扫描,直到遇到0开头的编码时将其作为变长编码尾码,然后遇到0开头的就视为ASCLL……
转自:https://zhuanlan.zhihu.com/p/76468961