常见的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。
中文字使用什么编码?
在输入汉字时使用英文ASCII码,在输出汉字时使用双字节中文码。计算机只识别由0、1组成的代码,ASCII码是英文信息处理的标准编码,汉字信息处理也必须有一个统一的标准编码。汉字交换码(国标码)主要用于汉字信息交换,《信息交换用汉字编码字符集——基本集》,代号为GB2312-80,共对6763个汉字和682个图形字符进行了编码。国标码是汉字信息交换的标准编码,但因其前后字节的最高位为0,与ASCII码发生冲突,国标码是不可能在计算机内部直接采用的,于是,汉字的机内码采用变形国标码,其变换方法为:将国标码的每个字节都加上128,即将两个字节的最高位由0改1,其余7位不变。扩展资料:汉字由两个字节表示。原则上,两个字节可以表示256×256=65536个不同的符号,作为汉字编码表示的基础是可行的。但是,考虑到中文字符编码与ASCII西方字符编码等国际通用编码之间的关系,中国国家标准局采用了一种改进的双字节中文字符编码方案,仅使用两个字节的低7位。该方案可容纳128×128=16,384个不同的汉字,但为了与标准ASCII码兼容,每个字节不能再使用32个控制功能码、32个带码值的空格和127个操作码。所以每个字节只能有94个编码。这样,双七位数实际能表示的单词数为:94×94=8836。参考资料来源:百度百科——内码