陕西省委党校文化与科技教研部 陕西 西安 710061
摘 要:本文简述了记事本文件的存贮格式,字符及汉字的编码方式。同时给出了不同编码之间的转换方法,为编写格式转换程序提供了理论基础。
关键词:字符编码 汉字编码 格式转换
一、什么是纯文本文件
纯文本格式,就是没有任何文本修饰的,没有任何粗体,下划线,斜体,图形,符号或特殊字符及特殊打印格式的文本,只保存文本,不保存其格式设置。将所有的分节符、分页符、新行字符转换为段落标记。用ANSI字符设置。只有在目标程序无法阅读任何其他有效的文件格式时才选择这种格式。是微软在操作系统上附带的一种文本格式,是最常见的一种文件格式,早在DOS时代应用就很多,主要存文本信息,即为文字信息,现在用的最多的是操作系统的记事本等程序保存,大多数软件可以查看如记事本、浏览器等等。
电子书的主要格式有PDF、EXE、CHM、UMD、PDG、JAR、PDB、TXT、BRM等等,目前很多流行移动设备都是支持其阅读格式的。手机终端常见的电子书格式为UMD、JAR、TXT这三种。纯文本格式的编辑器常用的有Windows自带的记事本、VI、TED Notepad、TXTediter、Notepad++、Quickpad等。文件的字符集在Windows下有两种,一种是ANSI,一种Unicode。对于Unicode,Windows支持了它的三种编码方式,一种是小尾编码(Unicode),一种是大尾编码(BigEndianUnicode),一种是UTF-8编码。
二、ASCII码
我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0000000到11111111。上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为ASCII码,一直沿用至今。
期刊文章分类查询,尽在期刊图书馆ASCII码一共规定了128个字符的编码,比如空格“SPACE”是32(二进制00100000),大写的字母A是65(二进制01000001)。这128个符号(包括32个不能打印出来的控制号)只占用了一个字节的后面7位,最前面的1位统一规定为0。
三、ANSI码
ANSI(American National Standards Institute)美国国家标准学会的标准码。ANSI是一种字符代码,为使计算机支持更多语言,通常使用 0x80~0xFF 范围的2个字节来表示1个字符。表示英文字符时用一个字节,表示中文用两个或四个字节。而记事本的ANSI编码,就是这种默认编码,所以,一个中文文本,用ANSI编码保存,在中文版里编码是GBK模式保存。
四、小尾编码(Unicode)
Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。
Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。目前的Unicode字符分为17组编排,0x0000 至 0x10FFFF,每组称为平面(Plane),而每平面拥有65536个码位,共1114112个。然而目前只用了少数平面。UTF-8、UTF-16、UTF-32都是将数字转换到程序数据的编码方案。
Unicode编码的文本文档,带有BOM (Byte Order Mark, 字节序标志),即前两个字节为FFFE,英文,汉字均2字节。
五、大尾编码(BigEndianUnicode)
BigEndianUnicode编码的文本文档,带有BOM (Byte Order Mark, 字节序标志),即前两个字节为FEFF,英文,汉字均2字节。大尾小尾的区别仅在于一个字高低字节互换。
六、UTF-8编码
UTF-8编码的文本文档,有的带有BOM (Byte Order Mark, 字节序标志),即0xEF, 0xBB, 0xBF,英文1个字节,汉字3个字节。UTF-8是一种多字节编码的字符集,表示一个Unicode字符时,它可以是1个至多个字节,在表示上有规律:
1字节:0xxxxxxx
2字节:110xxxxx 10xxxxxx
3字节:1110xxxx 10xxxxxx 10xxxxxx
4字节:11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
七、 Unicode与UTF-8编码格式转换
Unicode16位,UTF-8编码24位,标志位8位,有效位16位,Unicode16位与UTF-8的有效位16位对应即可。
参考文献
[1]陈建铎 计算机组成原理与系统结构[M].北京,清华大学出版社,2015。
[2]白中英 计算机组成原理[M].北京,科学出版社,2008。
[3]杨青 大学计算机基础[M].北京,高等教育出版社,2013。
论文作者:庞新法
论文发表刊物:《教育学文摘》2018年9月总第275期
论文发表时间:2018/8/20
标签:字节论文; 字符论文; 文本论文; 格式论文; 汉字论文; 英文论文; 符号论文; 《教育学文摘》2018年9月总第275期论文;