常见的3种字符编码方式
ASCII字符集是美国信息交换标准委员会(American Standards Committee forInformation Interchange)的缩写,在20世纪80年代由美国英语通信所设计。每个ASCII码由7位构成,整个ASCII字符集由128个字符组成,包括大小写字母、数字0~9、标点符号、非打印字符(换行符、制表符等4个)以及控制字符(退格、响铃等)。
由于ASCII字符针对英语设计,当处理汉字等其他字符时,这种编码就不适用了。为解决这个问题,不同国家制订了自己的编码标准。
我国一般使用 国标码 ,常用的有GB 2312和GB 18030—2000编码,其中,GB 18030编码汉字更多,是我国计算机系统必须遵循的基础性编码标准之一。在GB 2312编码中,汉字都采用双字节编码。为了与系统中基本的ASCII字符集区分开,所有汉字编码的每个字节的第一位都是1。例如,“啊”字的编码为0xB0A1。GB 18030是对GB 2312的扩展,其编码长度由2个字节变为1~4个字节。
由于每个国家都有自己的编码方式,要想打开一个文本文件,就必须知道其编码方式,否则就会出现乱码。为了让国际信息交流更加方便,国际组织制定了Unicode字符集。它为各种语言中的每一个字符规定了统一且唯一的字符,并且只需要两个字节,便可以表示地球上绝大部分地区的文字。C#的默认字符都是Unicode码,一个英文字母和一个汉字一样,都占两个字节。
Unicode码虽然能够表示大部分国家的文字,但是其占有空间比ASCII码大一倍,这对于能用ASCII码表示的字符显得有些浪费。因此,又出现了一些中间格式的字符集,它们被称为 通用转换格式,即UTF (Universal TransformationFormat)。
目前比较流行的是UTF-8、UTF-16、UTF-32。