Unicode是什么???

Unicode是什么???,第1张

Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。

Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言培森、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。

Unicode通常用两个字节表示一个字符,原有的英文编码从单字节变成双字节,只需要把高字节全部填为0就可以。

因为Python的诞生比Unicode标准发布的时间还要早,所以最早返拦的Python只支持ASCII编码,普通的字符串'ABC'在Python内部都是ASCII编码的。

Unicode 是为了解决传统的字符编码方案的局限而产生的,例如ISO 8859所定义的字符虽然在不同的国家中广泛地使用,可是在不同国家间却经常出现不兼容的情况。

很多传统的编码方式都有一个共同的问题,即容许电脑处理双语环境(通常使用拉丁字母以及其本地语言),但却无法同时支持多语言环境(指可同时处理多种语言混合的情况)。

扩展资料:

Unicode 兼容于 ASCII 字符并被大多数程序所支持,前128个 Unicode 码同 ASCII 码具有同样的字节值;Unicode 字符从 U+0020 到 U+007E 等同与 ASCII 码的 0x20 到 0x7E,不同于支持拉丁字母的7位 ASCII。

Unicode 对每个字符进行16位值的编码设置,它允许几万个字符,例如 Unicode 2.0 版包含 38,885 个字符,它也可以进行扩展,如 UTF-16 允许用16位字符组合为一百漏中胡万或更多的字符,UTF 将编码转换为真实的二进制位。

Unicode 完全兼容于国际标准 ISO/IEC 10646-11993,它是 ISO 10646 的一个子集,并支持用两个八进制数的 ISO UCS-2(Universal Character Set)。

JavaScript 1.3 版本对 Unicode 的支持意味着您可以任意地在程序中使用本地的字符以及特殊的科学符号。Unicode 提供了一种标准的方法来编码多语言文本,并且因为它兼容于 ASCII ,您也可以随意使用 ASCII 字符。

参考资料来源:百度百科-Unicode

Unicode是一种字符编码方案,它为每种语言尺谈悄中的每个字符都设定了统一唯一的二进制编码,以实现跨语言、跨平台进行文本转换、处理的要求。

Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。目前的Unicode字符分为17组编排,0x0000至0x10FFFF,每组称为平面(Plane),而每平面拥有65536个码位,共1114112个。

主要内容

为了使Unicode与已存在和广泛使用的旧有编码互相兼容,尤其是差不多所有电脑系统都支援的基本拉丁字母部分,所以Unicode的首256字符仍旧保留给ISO8859-1所定义的字符,使既有的西欧语系陵渣文字的转换不需特别考量。

另方面因相同的原因,Unicode把大量相同的字符重复编到不同的字符码中去,使得旧有纷杂的编码方式得以和Unicode编码间互相直接转换,而不会遗失任何资讯。

举例来说,全角格式区段包含了主要的拉丁字母的全角格式,在中文、日文、以及韩文字形当中,这些字符以全角的方式来呈现,而不以常见侍让的半角形式显示,这对竖排文字和等宽排列文字有重要作用。

Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。Unicode用数字0-0x10FFFF来映射这些字符,最多可以容纳1114112个字符,或者说有1114112个码位。码位就是可以分配给字符的数字。UTF-8、UTF-16、UTF-32都是将数字转换到程序数据的编码方案。

Unicode字符集可以简写为UCS(Unicode Character Set)。早期的Unicode标准有UCS-2、UCS-4的说法。UCS-2用两个字节编码,UCS-4用4个字节编码。UCS-4根据最高位为0的最高字节分成2^7=128个group。每个group再根据次高字节分为256个平面(plane)。每个平面根据第3个字节分为256行 (row),每行有256个码位(cell)。group 0的戚中平面0被称作BMP(Basic Multilingual Plane)。将UCS-4的BMP去掉前面的两个零字姿仔镇节就得到了UCS-2。

每个平面有2^16=65536个码位。Unicode计划使用了17个平面,一共有17*65536=1114112个码位。在Unicode 5.0.0版本中,已定义的码位只有238605个,分布在平面0、平面1、平面2、平面14、平面15、平面16。其中平面15和平面16上只是定义了两个各占65534个码位的专用区(Private Use Area),分别是0xF0000-0xFFFFD和0x100000-0x10FFFD。所谓专用区,就是保留给大家放自定义字符的区域,可以简写为PUA。

平面0也有一个专用区:0xE000-0xF8FF,有6400个码位。平面0的0xD800-0xDFFF,共2048个码位,是一个被称作代理区(Surrogate)的特殊区域。代理区的目的用两个UTF-16字符表示BMP以外的字符。在介绍UTF-16编码时会介绍。

如前所述在Unicode 5.0.0版本中,238605-65534*2-6400-2408=99089。余下的99089个已定义码位分布在平面0、平面1、平面2和平面14上,它们对应着Unicode目前定义的99089个字符,其中包括71226个汉字。平面0、平面1、平面2和平面14上分别迹粗定义了52080、3419、43253和337个字符。平面2的43253个字符都是汉字。平面0上定义了27973个汉字。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12506345.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存