Unicode的定义以及Windows下各个相关名称叫法间的关系

本文详细介绍了Unicode编码的概念,包括代码点、码位和不同的编码方式。特别指出,Unicode可以通过UTF-16编码,其中在Windows环境下,开发工具中的Unicode通常指UTF16LE(UCS-2),而记事本中的Unicode则指的是带BOM的UTF-16(Big Endian)。此外,文章还讨论了UTF-16与UCS-2的区别以及Windows内核对Unicode的支持情况。
摘要由CSDN通过智能技术生成

Unicode的定义

Unicode是为整合全世界的所有语言文字而诞生的。

任何文字(字符)在Unicode中都对应一个值,这个值称为代码点(code point)。代码点的值通常写成如 U+ABCD形式 的格式(不一定是四位,如U+10FFFF)。

一些人误以为Unicode只是简单的使用16比特的码字,也就是说每一个字符对应 16比特,总共可以表示65536个字符。这是完全不正确的。

在Unicode中,一个字母被映射到一个叫做码点(code point)的东西,这个码点可以看作一个纯粹的逻辑概念。至于码点(code point)如何在内存或磁盘中存储是另外的一个故事了。

码点(code point)的形式:U+0639

U+的意思就是"Unicode",后面跟的数字是十六进制的。

事实上Unicode可以定义的字符数并没有上限,而且现在已经超过65536了。显然,并不是任何Unicode字符都可以用2个字节来表示了。


例如,

                          1.3从U+D800到U+DFFF的码位

Unicode代码点(code point)就是所谓的Unicode的编码方式


Unicode的编码方式

Unicode的编码方式与ISO 10646通用字符集(Universal Character Set,UCS)概念相对应,目前实际应用的Unicode版本对应于UCS-2,使用16的编码空间。也就是每个字符占用2个字节。这样理论上一共最多可以表示216即65536个字符。基本满足各种语言的使用。实际上目前版本的Unicode尚未填充满这16 位编码,保留了大量空间作为特殊使用或将来扩展。

上述16位Unicode字符构成基本多文种平面(Basic Multilingual Plane,简称BMP)。最新(但未实际广泛使用)的Unicode版本定义了16个辅助平面,两者合起来至少需要占据21位的编码空间,比3字节略少。但事实上辅助平面字符仍然占用4字节编码空间,与

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值