ANSII是8位进行表示,只可以表示英文字母,数字与符号,使用前127位,第一位规定为0,。
ANSI编码是因为非英语国家需要在计算机上显示自己的文字,比如中国的中文使用ASCII码中多余的128位不能表示所有的汉字,所以进行扩展,使用2个字节即16位进行汉字编码,低127个表示的还是原来的ASCII码,以上的就是表示的是汉字字符,由于每一个国家都有自己的编码,所以各个系统中的字符显示需要进行转换,这样才可以进行显示。
Unicode是为了解决各个国家使用不同编码进行字符编码,将所有的字符都统一使用2个字节进行表示,如中文4E00----9FBF(共有40895-19968=20927),这样就可以将所有的字符以一种统一的方式进行编码。UTF-8、UTF-16与UTF-32是一些编码方式。在Internet中传输主要是使用UTF-8编码方式。
UTF-8编码方式
Unicode符号范围 | UTF-8编码方式
(十六进制) | (二进制)
--------------------+---------------------------------------------
0000 0000-0000 007F | 0xxxxxxx
0000 0080-0000 07FF | 110xxxxx 10xxxxxx
0000 0800-0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx
0001 0000-0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
for example:“严”的unicode是4E25(0100 1110 0010 0101),位于0000 0800-0000 FFFF,则使用第三种方式,变为1110 0100 1011 1000 1010 0101表示,即为E4B8A5。
其中中日韩三国的Unicode编码范围是4E00~9FBF(CJK 统一表意符号扩展)。