版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
字符编码及由来本文概述:本文从编码的发展历程开始,介绍了ASCII、ASCII扩展字符集、GB2312、GBK、GB18030和BIG5,以及统一编码规范之后的Unicode、UCS2、UCS4、UTF8、UTF16、UTF32、LittleEndian和BigEndian。ANSI的“ASCII”编码(AmericanStandardCodeforInformationInterchange,美国信息互换标准代码)0~127,用来存储空格、标点符号、数字、大小写字母。ASCII中128~255称为扩展字符集。GB2312(对ASCII的中文扩展):GB2312收录简化汉字及符号、字母、日文假名等共7445个图形字符,其中汉字占6763个。编码规定:其编码范围为:2121H-777EH。一个小于127的字符的意义与原来相同,但两个大于127的字符连在一起时,就表示一个汉字,前面的一个字节(高字节)从0XA1用到0XFE,大约组合出7000多个简体汉字,其中包括数学符号、罗马希腊的字母和日本的假名。且ASCII里原本有的数字、标点、字母都重新编了两个字节长的编码,这就是常说的“全角”,而原来在127一下的那些字符就叫“半角”字符。GB2312将代码表分为94个区,对应第一字节;每个区94个位,对应第二字节,两个字节的值分别为区号值和位号值加32(2OH),因此也称为区位码。01-09区为符号、数字区,16-87区为汉字区,10-15区、88-94区是有待进一步标准化的空白区。GB2312将收录的汉字分成两级:第一级是常用汉字计3755个,置于16-55区,按汉语拼音字母/笔形顺序排列;第二级汉字是次常用汉字计3008个,置于56-87区,按部首/笔画顺序排列。故而GB2312最多能表示6763个汉字。GBK:为满足所有汉字的需求,不再要求低字节一定是127号之后的内码,只要第一个字节大于127就固定表示这是一个汉字的开始。GBK包括了GB2312的所有的内容,同时又增加了近20000个新的汉字(包括繁体字)和符号。GBK向下与GB2312完全兼容,向上支持ISO10646国际标准。GBK亦采用双字节表示,总体编码范围为8140-FEFE之间,首字节在81-FE之间,尾字节在40-FE之间,剔除XX7F一条线。GB18030:GBK的扩展,增加了几千个新的少数民族的字。以上统称为DBCS(DoubleByteCharacter双字节字符集)。在DBCS系列标准里,最大的特点是两字节长的汉字字符和一字节长的英文字符并存于同一套编码方案里,因此在程序中为了支持中文处理,必须要注意字串里的每一个字节的值,如果这个值大于127,则认为一个双字节字符集的字符出现了。GB18030是最新的汉字编码字符集国家标准,向下兼容GBK和GB2312标准。GB18030编码是一二四字节变长编码。一字节部分从0x0~0x7F与ASCII编码兼容,二字节部分。首字节从0x81~0xFE,尾字节从0x40~0x7E以及0x80~0xFE,与GBK标准基本兼容。四字节部分,第一字节从0x81~0xFE,第二字节从0x30~0x39,第三和第四字节的范围和前两个字节分别相同。四字节部分覆盖了从0x0080开始,除去二字节部分已经覆盖的所有Unicode3.1码位。也就是说,GB18030编码在码位空间上做到了与Unicode标准一一对应,这一点与UTF-8编码类似。现在的PC平台必须支持GB18030,手机、MP3一般只支持GB2312。BIG5:BIG5是通行于台湾、香港地区的一个繁体字编码方案。广泛应用于电脑行业,尤其是互联网中,从而成为一种事实上的行业标准。BIG5码是双字节编码方案,其中第一个字节的值在OXAO-OXFE之间,第二个字节在OX40-OX7E和OXA1-OXFE之间。(6)UniCode:为了统一全世界的编码规范,ISO(国际标准化组织)废除所有地区性编码方案,重新制定一个了统一的编码——UniversalMultiple_OctetCodedCharacterSet,简称UCS,俗称“UniCode”。ISO规定,用16位统一表示所有的字符,对于ASCII里的那些“半角”字符,UNICODE保持其原编码不变,只是将其长度由原来的8位扩展为16位,而其它文化和语言的字符则全部重新统一编码。由于"半角"英文符号只需要用到低8位,所以其高8位永远是0,因此这种案在保存英文文本时会多浪费一倍的空间。(7)UCS-2和UCS-4:Unicode是为整合全世界的所有语言文字而诞生的。任何文字在Unicode中都对应一个值,这个值称为代码点(codepoint)。代码点的值通常写成U+ABCD的格式。而文字和代码点之间的对应关系就是UCS-2(UniversalCharacterSetcodedin2octets)。顾名思义,UCS-2是用两个字节来表示代码点,其取值范围为U+0000~U+FFFF。为了能表示更多的文字,人们又提出了UCS-4,即用四个字节表示代码点。它的范围为U+00000000~U+7FFFFFFF,其中U+00000000~U+0000FFFF和UCS-2是一样的。要注意,UCS-2和UCS-4只规定了代码点和文字之间的对应关系,并没有规定代码点在计算机中如何存储。规定存储方式的称为UTF(UnicodeTransformationFormat),其中应用较多的就是UTF-16和UTF-8了。(8)UTF:随着计算机网络的兴起,UNICODE如何在网络上传输也是一个必须考虑的问题,于是面向传输的众多UTF(UCSTransferFormat)标准出现了,顾名思义,UTF8就是每次8个位传输数据,而UTF16就是每次16个位,只不过为了传输时的可靠性,从UNICODE到UTF0x00000x120x00010x340x00020xab0x00030xcd如果我们去读取一个地址为0x0000的四个字节变量,若字节序为BigEndian,则读出结果为0x1234abcd;若字节序位LittleEndian,则读出结果为0xcdab3412。如果我们将0x1234abcd写入到以0x0000开始的内存中,则结果为big-endianlittle-endian0x00000x120xcd0x00010x230xab0x00020xab0x340x00030xcd0x12需要特别说明的是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医疗数字孪生与医院科研团队建设
- 医疗改革关键环节资源调整策略
- 2026 年中职航空机电设备维修(机电设备检查)试题及答案
- 智能辅助诊断系统研发与应用
- 招远市公务员考试试题及答案
- 漳州公务员考试模拟题库试题及答案
- 未来五年夜市餐饮店企业数字化转型与智慧升级战略分析研究报告
- 未来五年外墙保温材料企业数字化转型与智慧升级战略分析研究报告
- 未来五年卤制食品企业ESG实践与创新战略分析研究报告
- 自贡乡镇公务员考试试题及答案
- 篮球原地投篮教学
- 医疗机构安全生产事故综合应急预案
- 水利信息化计算机监控系统单元工程质量验收评定表、检查记录
- 《管理学原理》课程期末考试复习题库(含答案)
- 电力系统经济学原理课后习题及答案
- DL-T+5174-2020燃气-蒸汽联合循环电厂设计规范
- 消费者在直播带货中冲动行为的影响因素探究
- 人工智能中的因果驱动智慧树知到期末考试答案章节答案2024年湘潭大学
- 公司财务部门工作职责
- 数字化转型赋能高校课程思政的实施进路与评价创新
- 年产10吨青紫霉素发酵工厂设计毕业设计
评论
0/150
提交评论