首页 » IT » 字符编码与字符集

字符编码与字符集

语言、文字、字体、字符集、字符编码等话题在计算机中是一个非常庞大而又混乱的领域。感性认识,语言好比汉语、英语、法语、德语等区别,不同国家、地区的人们使用不同的语言交流;同一种语言之下,有不同的文字,例如汉语有简体字、繁体字,英语有美式英语、英式英语;同一种文字又有很多不同的展现形式,即字体,例如汉字的楷书、行书、草书、宋体等;字符集基本上是一个巨大的映射表,每个文字都有一个对应的编号;而字符编码则是一套规则或算法,以实现在映射表上的查找,例如通过字符找到其编号,或通过编号找到字符。

语言+文字,例如:zh_CN、zh_HK、zh_TW、en_US等。

语言+文字+编码:例如:zh_CN.utf-8、en_US.utf-8等。

Latin-1/ISO 8859
ISO 8859主要覆盖欧洲语言,是一系列的标准,每个标准对应欧洲某些语言,例如著名的ISO 8859-1(也称Latin-1)定义了英语、法语德语等。ISO 8859系列标准从 ISO 8859-1 到 ISO 8859-16。
ASCII
ASCII(American Standard Code for Information Interchange)是ISO定义的标准ISO 646,在1960年制定。
UCS
通用字符集(Universal Character Set)是ISO指定的ISO 10646标准所定义的字符集。UCS的竞争对手主要是Unicode编码,两者都想把全世界所有字符都囊括在内,目前看是Unicode较有优势。
Unicode
Unicode有很多译名,如统一码、万国码、标准万国码等,其主要目的和ISO 10646一样,囊括全世界所有字符!当前Unicode有超过10万个字符,最新版本是Unicode 6。
EUC
Extended UNIX Code。
EBCDIC
EBCDIC(Extended Binary Coded Decimal Interchange Code),由IBM在1963-1964年设计,主要用于大型机和办公用计算机,早已不是主流。
BOM
BOM(Byte-Order Mark)字节顺序标记,当以UTF-16或UTF-32将UCS/Unicode字符串编码时,这个字符用来标记其字节序。
GB 2312
GB是国标的拼音简称。GB 2312收录6763个汉字,一级汉字3755个,二级汉字3008个,还收录了包括拉丁字母、希腊字母、日文平假名、片假名字母、俄语西里尔字母在内的682个字符。GB 2312的替代者是GBK,解决人名、古汉语等方面出现的罕见字。
GBK
GBK中的K是扩展的Kuo的声母。GBK并非国家标准,而是微软对中文字符集GB 2312的扩展,最早实现于Win 95简体中文版。GBK编码又称 CP936 (Code Page 936)。早期CP936对应GB 2312,后来对应GBK。

Unicode

世界上的字符似乎多的超乎想像。日常使用的汉字大约有几千字,最早汉·许慎的《说文解字》收录9千多字,而清朝《康熙字典》收录4万7千多字。Unicode收录超过10万字,可见汉字占了很大一个比例。

Unicode 字符平面映射

Unicode字符分为17组编排,每组成为平面(Plane),每个平面有65536(26)个代码点,目前只有少数平面被使用。常见平面及说明如下表:

平面 始末字符值 说明
0号平面 U+0000 - U+FFFF BMP(Basic Multilingual Plane),基本多种文种平面
1号平面 U+10000 - U+1FFFF SMP(Supplementary Multilingual Plane),多种文种补充平面
2号平面 U+20000 - U+2FFFF SIP(Supplementary Ideographic Plane),表意文字补充平面

分享

0