当前位置:C++技术网 > 资讯 > 轻松彻底理解符号、字符和字符集(ASCII、Unicode)

轻松彻底理解符号、字符和字符集(ASCII、Unicode)

更新时间:2015-06-26 23:59:46浏览次数:1+次

符号
    能见到的各种各样的形状,都可以叫做符号。随手一划,就是一个符号。看到的每种东西都是一个符号。
字符
    要在人类之间方便的交流,将一系列的符号组合在一起,表达一个意思。这些可以被用作表达意思的标准符号,就是字符。比如英文字母,中文等,以及标点符号等。
字符集
    一类符号的集合。我们为了特定的需要,将一系列的字符放在一起,就成了一个集合,这些集合都是字符,所以叫做字符集。粗略的讲,中国人的文字和美国不一样,使用的交流的字符也就不一样,美国人用英文字母,我们用汉字。所以,美国人用的字符的所有的集合就是美国人用的字符集,中国人用的字符集就是汉字以及相关符号的集合。而字符集的名称,只是一个叫法而已,关键是对字符集的深刻理解。字符集只是按照一个标准,把相关的字符都放在一起罢了,至于具体如何放,那是另外一回事。
    字符集只是一个规定而已。实际上,世界上任何人都可以使用任何字符集,比如你也可以写英语,也就是在使用英语字符集。在计算机中,只要你的电脑安装了对应的字符集,也就可以显示对应的文字。如果你的电脑没有安装埃及文字,如果一个埃及人发给你一份法老的秘密文件,你的电脑是显示不了这些埃及文字的,而是一大堆的乱码。但是你安装了埃及字符集到电脑后,系统就可以根据这个字符集来显示这些文字了。


常见字符集
ASCII字符集
    这是美国使用的一套字符集,ASCII字符集只是一个基于英语国家的字符集。你只要知道,这种字符集是英语国家使用的,使用的地方不限于计算机,可以是手写,打印机,计算机等,而不要只理解为计算机中使用。
GB2312字符集
    GB2312又称为GB2312-80字符集,全称为《信息交换用汉字编码字符集·基本集》,由原中国国家标准总局发布,1981年5月1日实施。GB2312是中国国家标准的简体中文字符集。GB2312收录简化汉字及一般符号、序号、数字、拉丁字母、日文假名、希腊字母、俄文字母、汉语拼音符号、汉语注音字母,共 7445 个图形字符。其中包括6763个汉字,其中一级汉字3755个,二级汉字3008个;包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的682个全角字符。
    也就是说,GB2312是中国人使用的字符集,当然,还包含了其他的字符。我们只是把这些字符组合在一起而已。字符集也就是这个意思。
BIG5字符集
    又称大五码或五大码,1984年由台湾财团法人信息工业策进会和五家软件公司宏碁 (Acer)、神通 (MiTAC)、佳佳、零壹 (Zero One)、大众 (FIC)创立,故称大五码。
    Big5码的产生,是因为当时台湾不同厂商各自推出不同的编码,如倚天码、IBM PS55、王安码等,彼此不能兼容;另一方面,台湾政府当时尚未推出官方的汉字编码,而中国大陆的GB2312编码亦未有收录繁体中文字。
    因为Big5码是因为当时的GB2312不完善,没有收录对应的繁体字,而台湾还是在使用繁体字,这样他们也就没法使用GB3212字符集了,因此各自推出了字符集。如果当时你很有本事,当然,也可以推出一个字符集,或许现在就可以叫做Big6。
GB18030字符集
    因为GB2312字符集收录的字符有限,导致台湾自己又弄了个Big5字符集。然而,各个少数民族等也是有文字的,这些文字也没有被记录近GB2312字符集,导致这些需要使用的场合无法方便的使用。这些使用一般是计算机之类的设备的使用,手写的使用这些倒是影响不大。计算机如果没有对应的字符集,就没有办法显示出来,你也没办法用对应的字符记录信息。
    所以后来,中国又推出了新标准的字符集GB18030,收录了更多的字符,都统一的分类。
Unicode字符集
    在世界范围内,每个区域的地方使用的语言不一样,因此就有各种字符集。中国使用GB18030基本上都可以满足了。然而,美国使用ANSCII字符集,埃及有埃及的字符集,意大利有意大利的字符集。每个字符集之间格式都不一样,也就让字符集的转换变得麻烦。计算机处理起来非常麻烦,你还得了解各种字符集的标准,然后进行乾坤大挪移,太费功力了。
    所以,就产生了Unicode字符集。此字符集目标就是将全世界的字符都放在一起归类,都用Unicode字符集存放表示,这样每一类字符集都存放在一个区域中,只需要简单的做个切换,就可以方便的转换了。Unicode实际上就是全世界的字符集的大一统,是一个便于国际交流的字符集。
    以上参考了百度百科,并融入自己的理解总结而成,目的是让读者更容易理解。而字符集和字符编码则是让人最容易混淆的东西,如果不是专门去研究一下,没有几个人能说的清楚。所以,再后面的字符集与字符编码文章中,会进一步深入讨论,希望让大家彻底轻松的明白这些东西。在编程时也能够轻松应对这类问题。