为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

Unicode UTF GBK 单字节 多字节.doc

2018-02-04 4页 doc 15KB 16阅读

用户头像

is_105949

暂无简介

举报
Unicode UTF GBK 单字节 多字节.docUnicode UTF GBK 单字节 多字节.doc 话说字符集 李貌 -- Fiberhome 摘要: 本文简要陈述Unicode、USC、UTF、GBK、单字节、多字节的基本概念,并说明它们之间的联系与区别。关于USC的编码对应关系、UTF的格式定义等细节,不在本文讨论范围内。 1. 概念 Unicode:是一种在计算机上使用的字符编码。其中文称呼为统一码、万国码或单一码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。说明:这是概念,是抽象的东西;其通过U...
Unicode UTF GBK 单字节 多字节.doc
Unicode UTF GBK 单字节 多字节.doc 话说字符集 李貌 -- Fiberhome 摘要: 本文简要陈述Unicode、USC、UTF、GBK、单字节、多字节的基本概念,并说明它们之间的联系与区别。关于USC的编码对应关系、UTF的定义等细节,不在本文讨论范围内。 1. 概念 Unicode:是一种在计算机上使用的字符编码。其中文称呼为统一码、万国码或单一码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。说明:这是概念,是抽象的东西;其通过USC与UTF的细化,真正实现跨语言、跨平台的特性。 USC:通用字符集,是Universal Character Set的缩写,是Unicode的编码。说白了,就是字符与编码(数字)的对应关系的标准。USC分为USC-2和USC-4。简单的说,UCS-2用两个字节编码,UCS-4用4个字节编码。显而易见,由于两字节编码只能存储2^16(65536)个字符,无法存储全球字符(即全球各国的字符总和大于2^16个),故产生UCS-4标准。通常我们不区分Unicode与USC,即说UNICODE时也就是说UCS。 UTF:字符集转换(或者传输)格式,是UCS Transformation Format的缩写。它定义了Unicode的编码(数字)转换成程序数据。它是网络上不同国家不同操作系统进行字符串传输、交换的重要依据。UTF 分为UTF-8、UTF-16、UTF-32。UTF-8、UTF-16、UTF-32分别以BYTE、WORD、DWORD作为编码单位(传输过程中的最小单元)。 GBK:(汉语)国标字符集。与USC一样,只是GBK是中国人自己为汉字进行编码而定义的统一字符集。GBK是规范中文编码过程中的重要成果,是一项国家标准。中文编码标准主要存在GB2312、GBK、GB18030三个版本。GBK是windows中文操作系统缺省使用的字符集。 BIG-5:繁体中文码,是通行于台湾、香港地区的一个繁体字编码,俗称“大五码”。 单字节SBCS:single-byte character set,用一个Byte来编码字符。如:ASCII。 多字节MBCS:multi-byte character set,用多个Byte来编码字符。如Unicode,GBK。 双字节DBCS:double-byte character set,多字节的特例。由于大多数字符编码的存储,仅需要用双字节就够了。即用两个字节能表示的字符,占总字符量的绝大部分,三个或三个以上字节表示的字符,通常我们是不会用到的。 宽字节wchar:wide character,两字节表示的UNICODE编码(至少windows是这样的),即UCS-2标准定义的UNICODE。 2. 区别与联系 2.1. 字符集 1. Unicode的编码规范是UCS,Unicode编码的传输规范是UTF。UCS是字符与编码 的对应关系的标准,UTF是该编码在计算机中存储、传输、交换的规范。 2. UCS-2( PK )UCS-4。UCS-2用两个字节编码,UCS-4用4个字节编码。UCS-4 兼容UCS-2,USC-2字符通过加宽为4字节,就是其在UCS-4中的编码。 3. UTF是传输规范。如“汉”字符对应的编码(数字)是0x6c49,而编码在传输过 程中对应UTF-8编码数据是: BYTE data_utf8[] = {0xE6, 0xB1, 0x89}(关于如何 转换,不在本文讨论范围)。 4. UTF-8( PK )UTF-16( PK )UTF32。UTF-8、UTF-16、UTF-32分别以BYTE、 WORD、DWORD作为编码单位。(关于其区别,我想只有你了解了它们的编码转 换,才能有一个深刻的体会) 5. GBK( PK )UCS。理想总是好的,现实总是残酷的。UCS定义了一套很好的国 际化字符集标准,但是并不是所有国家或语种都买账。GBK就是国人为了能够很 好的在计算机中表示汉语字符而确定的编码标准。(当然也有历史原因,GB字符 集产生要比UCS早) 6. UTF-16与UTF-32中的字符序问,即Big-endian与Little-endian。Big-endian与 Little-endian是计算机系统存储16位数据特有的问题。Big-endian是指高8位字节 在低位字节的前面(符合人的认知习惯),Little-endian则相反。值得一提的是,目 前流行的INTEL-x86-CPU所采用的是Little-endian(强烈鄙视、无语)。 2.2. 编码方式与字符集 1. 单字节( PK )多字节( PK )双字节。不多说,看概念就知道。 2. 多字节( PK )宽字节。一般的,就是指本地化(区域)字符转UNICODE字符。 (其实UNICODE编码也是多字节的,但一般都不把它归为多字节字符集,除非你 自称火星人)。 3. 宽字节( PK )UNICODE。个人认为,就是UCS-2编码标准对应的计算机数据 存储类型。 4. 代码页在多字节转宽字节过程中起到编码对应表的作用。如代码页“.936”,存储 了GBK到UNICODE编码(数字)的对应关系。 3. 字符集转换 本节仅列举windows下的字符集转换函数。 1. mbstowbs。多字节转宽字节字符串。注意:调用前,需要配置地域化信息。地域 化设置函数setlocale。 2. wbstombs。 3. MultiByteToWideChar。 4. WideCharToMultiByte。 5. LCMapString。简体与繁体汉字的互转。
/
本文档为【Unicode UTF GBK 单字节 多字节.doc】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索