unicode感想总结
unicode是随着全球化的发展,全球网页采用Unicode编码的网站及网页愈来愈多,以及应用程序愈来愈多采用此标准,原来不同语言文字符号无法在同一文件中出现,和用户遇到乱码的问题而创建的,为的就是广大的网友能更加方便。在非 Unicode 环境下,由于不同国家和地区采用的字符集不一致,很可能出现无法正常显示所有字符的情况。
unicode
大天使加百列及时出现了——一个叫ISO(国际标谁化组织)的国际组织决定着手解决这个问题。他们采用的方法很简单:废了所有的地区性编码方案,重新搞一个包括了地球上所有文化、所有字母和符号 的编码!他们打算叫它”Universal Multiple-Octet Coded Character Set”,简称UCS, 俗称 “unicode“
从unicode开始,无论是半角的英文字母,还是全角的汉字,它们都是统一的”一个字符“!同时,也都是统一的”两个字节“,请注意”字符”和”字节”两个术语的不同,“字节”是一个8位的物理存贮单元,而“字符”则是一个文化相关的符号。在unicode中,一个字符就是两个字节。一个汉字算两个英文字符的时代已经快过去了。
unicode同样也不完美,这里就有两个的问题,一个是,如何才能区别unicode和ascii?计算机怎么知道三个字节表示一个符号,而不是分别表示三个符号呢?第二个问题是,我们已经知道,英文字母只用一个字节表示就够了,如果unicode统一规定,每个符号用三个或四个字节表示,那么每个英文字母前都必然有二到三个字节是0,这对于存储空间来说是极大的浪费,文本文件的大小会因此大出二三倍,这是难以接受的。
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。统一码/国际通用码(Unicode),让数字及万维网的文本得以全球化,是万维网网页标准的基础。
1990年开始研发,1994年正式公布。
Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。Unicode用数字0-0x10FFFF来映射这些字符,最多可以容纳1114112个字符,或者说有1114112个码位。码位就是可以分配给字符的数字。UTF-8、UTF-16、UTF-32都是将数字转换到程序数据的编码方案。
2007年以来因全球网页采用Unicode编码的网站及网页愈来愈多,以及应用程序愈来愈多采用此标准,原来不同语言文字符号无法在同一文件中出现,和用户遇到乱码的问题获得基本解决。
制定Unicode的是统一码/国际通用码联盟(Unicode Consortium),是负责创建数字字符和数字通用标准的非营利组织。
字符与编码 Characters and Encoding
将人类自然语言的书写文字符号转换成数字机器能处理的“0”和“1”需要编码(Encoding)。
把语言的字符集成,制定出字符集(CharacterSets)通常是国家政府或产业界制定出来的,着名的例子如中国的国家标准GB-2312丶繁体/正体字早期的业界标准Big5丶香港政府制定的香港增补字符集 HKSCS等等。
由於各种字符集的标准不一,若有冲突的编码定义则不同语言文字符号无法在同一文件中出现,需要额外做转换。如中文简体字早期标准GB-2312和繁体/正体字早期标准Big5是不相容的,不但需要额外转换,这两种标准的文字是无法同时出现在一份文件里。
此外,由於编码之间的相容性及应用程序如浏览器的支援不一,会发生编码错误以致显示内容不正确,又称乱码(Mojibake),或甚致是安全漏洞。