字符集一.ASCII字符集1.名称的由来:ASCII(AmericanStandardCodeforInformationInterchange,美国信息互换标准代码)是基于罗马字母表的一套电脑编码系统。2.特点:它主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO646。3.包含内容:控制字符:回车键、退格、换行键等。可显示字符:英文大小写字符、阿拉伯数字和西文符号。4.技术特征:7位(bits)表示一个字符,共128字符。5.ASCII扩展字符集:7位编码的字符集只能支持128个字符,为了表示更多的欧洲常用字符对ASCII进行了扩展,ASCII扩展字符集使用8位(bits)表示一个字符,共256字符。ASCII扩展字符集比ASCII字符集扩充出来的符号包括表格符号、计算符号、希腊字母和特殊的拉丁符号。二.GB2312字符集1.名称的由来:GB2312又称为GB2312-80字符集,全称为《信息交换用汉字编码字符集·基本集》,由原中国国家标准总局发布,1981年5月1日实施。2.特点:GB2312是中国国家标准的简体中文字符集。它所收录的汉字已经覆盖99.75%的使用频率,基本满足了汉字的计算机处理需要。在中国大陆和新加坡获广泛使用。3.包含内容:GB2312收录简化汉字及一般符号、序号、数字、拉丁字母、日文假名、希腊字母、俄文字母、汉语拼音符号、汉语注音字母,共7445个图形字符。其中包括6763个汉字,其中一级汉字3755个,二级汉字3008个;包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的682个全角字符。4.技术特征:(1)分区表示:GB2312中对所收汉字进行了“分区”处理,每区含有94个汉字/符号。这种表示方式也称为区位码。各区包含的字符如下:01-09区为特殊符号;16-55区为一级汉字,按拼音排序;56-87区为二级汉字,按部首/笔画排序;10-15区及88-94区则未有编码。(2)双字节表示:个字节中前面的字节为第一字节,后面的字节为第二字节。习惯上称第一字节为“高字节”,而称第二字节为“低字节”。“高位字节”使用了0xA1-0xF7(把01-87区的区号加上0xA0),“低位字节”使用了0xA1-0xFE(把01-94加上0xA0)。5.编码举例:GB2312字符集的第一个汉字“啊”字为例,它的区号16,位号01,则区位码是1601,在大多数计算机程序中,高字节和低字节分别加0xA0得到程序的汉字处理编码0xB0A1。计算公式是:0xB0=0xA0+16,0xA1=0xA0+1。三.BIG5字符集1.名称的由来又称大五码或五大码,1984年由台湾财团法人信息工业策进会和五间软件公司宏碁(Acer)、神通(MiTAC)、佳佳、零壹(ZeroOne)、大众(FIC)创立,故称大五码。Big5码的产生,是因为当时台湾不同厂商各自推出不同的编码,如倚天码、IBMPS55、王安码等,彼此不能兼容;另一方面,台湾政府当时尚未推出官方的汉字编码,而中国大陆的GB2312编码亦未有收录繁体中文字。2.特点Big5字符集共收录13,053个中文字,该字符集在中国台湾使用。耐人寻味的是该字符集重复地收录了两个相同的字:“兀”(0xA461及0xC94A)、“嗀”(0xDCD1及0xDDFC)。3.字符编码方法Big5码使用了双字节储存方法,以两个字节来编码一个字。第一个字节称为“高位字节”,第二个字节称为“低位字节”。高位字节的编码范围0xA1-0xF9,低位字节的编码范围0x40-0x7E及0xA1-0xFE。各编码范围对应的字符类型如下:0xA140-0xA3BF为标点符号、希腊字母及特殊符号,另外于0xA259-0xA261,存放了双音节度量衡单位用字:兙兛兞兝兡兣嗧瓩糎;0xA440-0xC67E为常用汉字,先按笔划再按部首排序;0xC940-0xF9D5为次常用汉字,亦是先按笔划再按部首排序。4.Big5的局限性尽管Big5码内包含一万多个字符,但是没有考虑社会上流通的人名、地名用字、方言用字、化学及生物科等用字,没有包含日文平假名及片假名字母。例如台湾视“着”为“著”的异体字,故没有收录“着”字。康熙字典中的一些部首用字(如“亠”、“疒”、“辵”、“癶”等)、常见的人名用字(如“堃”、“煊”、“栢”、“喆”等)也没有收录到Big5之中。四.GB18030字符集1.名称的由来GB18030的全称是GB18030-2000《信息交换用汉字编码字符集基本集的扩充》,是我国政府于2000年3月17日发布的新的汉字编码国家标准,2001年8月31日后在中国市场上发布的软件必须符合本标准2.特点GB18030字符集标准的出台经过广泛参与和论证,来自国内外知名信息技术行业的公司,信息产业部和原国家质量技术监督局联合实施。GB18030字符集标准解决汉字、日文假名、朝鲜语和中国少数民族文字组成的大字符集计算机编码问题。该标准的字符总编码空间超过150万个编码位,收录了27484个汉字,覆盖中文、日文、朝鲜语和中国少数民族文字。满足中国大陆、香港、台湾、日本和韩国等东亚地区信息交换多文种、大字量、多用途、统一编码格式的要求。并且与Unicode3.0版本兼容,填补Unicode扩展字符字汇“统一汉字扩展A”的内容。并且与以前的国家字符编码标准(GB2312,GB13000.1)兼容。3.编码方法GB18030标准采用单字节、双字节和四字节三种方式对字符编码。单字节部分使用0×00至0×7F码(对应于ASCII码的相应码)。双字节部分,首字节码从0×81至0×FE,尾字节码位分别是0×40至0×7E和0×80至0×FE。四字节部分采用GB/T11383未采用的0×30到0×39作为对双字节编码扩充的后缀,这样扩充的四字节编码,其范围为0×81308130到0×FE39FE39。其中第一、三个字节编码码位均为0×81至0×FE,第二、四个字节编码码位均为0×30至0×39。4.包含的内容双字节部分收录内容主要包括GB13000.1全部CJK汉字20902个、有关标点符号、表意文字描述符13个、增补的汉字和部首/构件80个、双字节编码的欧元符号等。四字节部分收录了上述双字节字符之外的,包括CJK统一汉字扩充A在内的GB13000.1中的全部字符。五.Unicode字符集1.名称的由来Unicode字符集编码是UniversalMultiple-OctetCodedCharacterSet通用多八位编码字符集的简称,是由一个名为Unicode学术学会(UnicodeConsortium)的机构制订的字符编码系统,支持现今世界各种不同语言的书面文本的交换、处理及显示。该编码于1990年开始研发,1994年正式公布,最新版本是2005年3月31日的Unicode4.1.0。2.特征Unicode是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。3.编码方法Unicode标准始终使用十六进制数字,而且在书写时在前面加上前缀“U+”,例如字母“A”的编码为004116和字符“?”的编码为20AC16。所以“A”的编码书写为“U+0041”。4.UTF-8编码UTF-8是Unicode的其中一个使用方式。UTF是UnicodeTranslationFormat,即把Unicode转做某种格式的意思。UTF-8便于不同的计算机之间使用网络传输不同语言和编码的文字,使得双字节的Unicode能够在现存的处理单字节的系统上正确传输。UTF-8使用可变长度字节来储存Unicode字符,例如ASCII字母继续使用1字节储存,重音文字、希腊字母或西里尔字母等使用2字节来储存,而常用的汉字就要使用3字节。辅助平面字符则使用4字节。5.UTF-16和UTF-32编码UTF-32、UTF-16和UTF-8是Unicode标准的编码字符集的字符编码方案,UTF-16使用一个或两个未分配的16位代码单元的序列对Unicode代码点进行编码;UTF-32即将每一个Unicode代码点表示为相同值的32位整数。编码在一切开始之前,先分清”字符集”和”编码”这两个概念:字符集一个某种语言的字符对应一个整数,字符集可以理解为一个1维/2维/3维的表格.这种表格就是字符集字符集的编码字符集中每个字符对应的整数是以什么样的形式存储到计算机中的。因为在计算机中都是0和1组成的,那么如何把一个数字和一串0和1对应上呢?这种对应方式就是字符集的编码字符集与字符集编码的关系绝大多数字符集,仅有一种编码,比如:ASCII字符集/ASCII编码,ISO-8859字符集/ISO-8859编码,GB2312字符集/GB2312编码,GBK字符集/GBK编码,GB18030字符集/GB18030编码,但Unicode是一个字符集,但编码有UTF-8,UTF-16,UTF-32三种.1.西文字符集的演化1.1ASCII字符集ISO646(占用了一个字节,但首位被置“0”)存储长度:单字节字符集.编码长度:7bits.编码范围:00H–7fH(0-127)应用:最早的英文文本文件编码字符集.最早的计算机通用字符集a.0x20以下的字节状态称为控制码,他们把其中的编号从0开始的32种状态分别规定了特殊的用途,一但终端、打印机遇上约定好的这些字节被传过来时,就要做一些约定的动作。遇上0x10,终端就换行,遇上0x07,终端就向人们嘟嘟叫,遇上0x1b,打印机就打印反白的字,或者终端就用彩色显示字母。b.所有的空格、标点符号、数字、大小写字母分别用连续的字节状态表示,一直编到了第127号,这样计算机就可以用不同字节来存储英语的文字了。具体编码规则:ASCII非打印控制字符ASCII表上的数字0–31分配给了控制字符,用于控制像打印机等一些外围设备。例如,12代表换页/新页功能。此命令指示打印机跳到下一页的开头。ASCII非打印控制字符表-1进制字符进制字符000空1610数据链路转意101头标开始1711设备控制1202正文开始1812设备控制2303正文结束1913设备控制3404传输结束2014设备控制4505查询2115反确认606确认2216步空闲707震铃2317传输块结束808backspace2418取消909水平制表符2519媒体结束100A换行/新行261A替换110B竖直制表符271B转意120C换页/新页281C文件分隔符130D回车291D组分隔符140E移出301E记录分隔符150F移入311F单元分隔符ASCII打印字符数字32–126分配给了能在键盘上找到的字符,当您查看或打印文档时就会出现。数字127代表DELETE命令。ASCII打印字符表-2进制字符进制字符进制字符3220space6440@9660`3321!6541A9761a34226642B9862b3523#6743C9963c3624$6844D10064d3725%6945E10165e3826&7046F10266f3927'7147G10367g4028(7248H10468h4129)7349I10569i422A*744AJ1066Aj432B+754BK1076Bk442C,764CL1086Cl452D-774DM1096Dm462E.784EN1106En472F/794FO1116Fo483008050P11270p493118151Q11371q503228252R11472r513338353S11573s523448454T11674t533558555U11775u543668656V11876v553778757w11977w563888858X12078x573998959Y12179y583A:905AZ1227Az593B;915B[1237B{603C925C\1247C|613D=935D]1257D}623E