ascii和unicode编码的区别:简单讲ASCII码与Unicode码的区别(1)

ascii码

American Standard Code for Information Interconnection--美国信息交换标准代码

因为计算机只识别0和1,ASCII码是为了建立英文字符与二进制的映射关系,而制定的编码规范.

●它用一个字节(8位宽度)来表示一个英文字符,字节的最高位统一规定为0,剩余7位用来存储数据,表示字符. 所以ASCII码能表示128个字符(2的7次方=128,)也就是0-127字段.其中包括英文字符,阿拉伯数字,西文字符以及32个控制字符.

ASCII码编码的字符太少,后来为了加入其它西文字符的编码,又有了扩展的ASCII编码

●扩展的ASCII编码,实在原来ASCII码的基础上,把字节的最高位原本统一设置为0的,也用来存储字符数据,所以就能表示256个英文字符(0-255).很多国家扩展的ASCII码不统一,导致无法通用.0-127字段对应的字符和ASCII码一样,各个国家都是统一的.但是扩展的部分156-255字段映射的字符就不相同了.

下面给出了部分ASCII表.

ascii和unicode编码的区别:简单讲ASCII码与Unicode码的区别(2)

ascii

ascii和unicode编码的区别:简单讲ASCII码与Unicode码的区别(3)

ascii

Unicode编码

ascii和unicode编码的区别:简单讲ASCII码与Unicode码的区别(4)

由于ASCII编码方式包含的字符太少,基本只对英文字符进行了编码.

中国用GB2312等对简体汉字进行了编码.别的国家也有自己的编码方式.

为了方便交流,防止乱码,Unicode编码方式应运而生.

Unicode编码被称为万国码,单一码,统一码.它是为每种语言的每个字符都设定了统一的,唯一的二进制编码,以满足跨语言,跨平台进行文本交换和处理的需求,是计算机科学领域的一项业界标准.

Unicode编码用两个字节来存储一个字符,所以它最大可以对65536个字符(2的16次方)进行编码.它包含了世界上所有的字符,每个字符都是用独一无二的二进制表示.

●用Unicode对英文进行编码,相对于ASCII编码来说,会更占用空间.Unicode使用两个字节存储,英文存储只需要占用一个字节,用Unicode编码,就会在多出的一个字节上全部置零.这就造成了空间浪费.于是就有了UTF-8编码

UTF-8编码

(8-bit Unicode Transformation format)它是Unicode的实现方式,是一种可变字节的编码方式,用1-4个字节来表示一个字符.对英文就使用一个字节来表示.对汉字就使用两个字节来表示.有更复杂的字符就用3-4个字节来表示.

●半角逗号与全角逗号有什么却别呢??

半角逗号用在英文环境中,和英文字符一样占用一个字节.全角逗号用在汉语环境中,和汉字字符一样占用两个字符.

●在windows环境中,编程中的

"\r":(Carriage Return回车)表示回到当前行的行首,而不是换到下一行.

"\n":(换行 Line Feed)表示换到当前位置的下一行,而不是回到行首.

,