现在的位置: 首页 > 综合 > 正文

字符集和编码

2012年11月28日 ⁄ 综合 ⁄ 共 698字 ⁄ 字号 评论关闭

字符集即字符的集合:规定了在这些集合里面有哪些字符,每一个字符都有一个编号(一个整数),但这只是编号不是编码。
每个集合的内容(包括 大小)不同所以就有不同的字符集,常见字符集名称:ASCII字符集、GB2312字符集、BIG5字符集、
GB18030字符集、Unicode字符集等。

编码就规定了一个编号如何与二进制交互

同一个二进制编码所代表的内容不一样,所以就有不同的编码。
常见的编码:ANSI,ASCII,UTF-8,uincode。

可以想象,如果有一种编码,将世界上所有的符号都纳入其中。每一个符号都给予一个独一无二的编码,那么乱码问题就会消失。
这就是Unicode,就像它的名字都表示的,这是一种所有符号的编码。Unicode当然是一个很大的集合,现在的规模可以容纳100多万个符号。
但是Unicode存在几个问题:所占的空间太大,每个字符都要四个字节,是在浪费。问题是计算机如何知道是 unicode还是ACSII编码

为了解决这个存储问题所以就出现了不同的编码方式:UTF-8是 最典型的一种,他是一个可变字节的编码方式,它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度。

举例说明:严格abac  若采用ANSI则是:D1,CF ,B8,F1,61,62,61,63。
                                   若采用UTF-8则是:EF BB BF E4 B8 A5 E6 A0 BC 61 62 61 63.前三个字节“EF BB BF”表示这是UTF-8编码

附加一个网址:http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html

抱歉!评论已关闭.