4.7 Unicode统一编码支持

随着国际互联网的迅速发展,要求进行数据交换的需求越来越多,不同的编码体系越来越成为信息交换的障碍,而且多种语言共存的文档不断增多,单靠代码已很难解决这些问题。于是Unicode应运而生。

对于英文来说,ASCII 码0~127就足以代表所有字符,对于中文而言,则必须使用两个字节(byte)来代表一个字符,且第一个字节必须大于127(所以程序判断中文都是以 ASCII码大于127作为条件的)。以上用两个字节来表示一个中文的方式,在习惯上称为双字节(即DBCS, Double-Byte Character Set),而相对之下,英文的字符码就称为单字节(SBCS, Single-Byte Character Set)。

虽然双字节(DBCS)足以解决中英文字符混合使用的情况,但对于不同字符系统而言,必须经过字符码转换,非常麻烦。为解决这个问题,国际标准化组织于1984年4月成立ISO/IEC JTC1/SC2/WG2工作组,针对各国文字、符号进行统一编码。1991年美国跨国公司成立Unicode Consortium,并于1991年10月与WG2达成协议,采用统一编码字集。目前Unicode采用16位编码体系,其字符集内容与ISO10646的BMP(Basic Multilingual Plane)相同。Unicode于1992年6月通过了DIS(Draf International Standard)。

NTFS文件系统支持Unicode统一编码。对于资料交流来说,不同计算机系统的不同字符编码是有很大障碍的。Unicode 的出现就是为了解决不同语言系统间兼容性问题的,只要是使用Unicode编码的文件,在任意支持Unicode的系统平台上都可被正确打开,不会出现乱码。