您好,欢迎来到暴趣科技网。
搜索
您的当前位置:首页java中的unicode编码浅析

java中的unicode编码浅析

来源:暴趣科技网
字符集:一组抽象字符的集合就是字符集(Character Set)。字符集常常和一种具体的语言文字对应起来,该文字中的所有字符或者大部分常用字符就构成了该文字的字符集,比如英文字符集。一组有共同特征的字符也可以组成字符集,比如繁体汉字字符集、日文汉字字符集。字符集的子集也是字符集。

计算机要处理各种字符,就需要将字符和二进制内码对应起来,这种对应关系就是字符编码(Encoding)。制定编码首先要确定字符集,并将字符集内的字符排序,然后和二进制数字对应起来。根据字符集内字符的多少,会确定用几个字节来编码。每种编码都限定了一个明确的字符集合,叫做被编码过的字符集 (Coded Character Set),这是字符集的另外一个含义。通常所说的字符集大多都是指编码字符集(Coded Character Set)。

字符集编码(Character Set Encoding)

ASCII,GB2312,GBK,BIG5,GB18030, UCS,Utf-8,utf-16,utf-32 都有自己不同的规则,都有自己的对应规则,但都兼容ASCII。在使用时要注意这些编码相互之间的转换规则。对于没有转换规则的编码体系之间进行转换只能依靠查编码表进行。 说说unicode

Unicode是用两个字节表示一个字符,即十六位表示一个字符,实际上目前版本的Unicode尚未填充满这16位编码,保留了大量空间作为特殊使用或将来扩展 Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。

它是http://www.unicode.org 制定的编码机制, 要将全世界常用文字都函括进去。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。随着计算机工作能力的增强,Unicode也在面世以来的十多年里得到普及。但自从unicode2.0开始,Unicode采用了与ISO 106-1相同的字库和字码,ISO也承诺ISO106将不会给超出0×10FFFF的UCS-4编码赋值,使得两者保持一致。

再说说utf即Unicode的实现方式称为Unicode转换格式(Unicode Translation Format,简称为 UTF)。

UTF-8: 8bit变长编码,对于大多数常用字符集(ASCII中0~127字符)它只使用单字节,而对其它常用字符(特别是朝鲜和汉语会意文字),它使用3字节。

UTF-16: 16bit编码,是变长码,大致相当于20位编码,值在0×0000到0×10FFFF之间,基本上就是Unicode编码的实现,与CPU字序有关。

UTF-32:32bit编码,定长编码对应于字符的Unicode表示。UTF-8以字节为编码单元,没有字节序的问题。UTF-16以两个字节为编码单元,在解释一个UTF-16文本前,首先要弄清楚每个编码单元的字节序。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baoquwan.com 版权所有 湘ICP备2024080961号-7

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务