Unicode、UCS与UTF

 

Unicode:

如果把各种文字编码形容为各地的方言,那么Unicode就是世界各国合作开发的一种语言。在这种语言环境下,不会再有语言的编码冲突,在同屏下,可以显示任何语言的内容

Unicode将世界上所有的文字用2个字节统一进行编码。但是2个字节最多能够表示65536个编码,够用吗?

看来这就是统一编码的神奇之处,比如:韩国和日本的大部分汉字都是从中国传播过去的,字型是完全一样的。以“文”字为例,GBKSJIS中都是同一个汉字,只是编码不同而已。

这就是Unicode的最大好处。就是将世界上所有的文字用2个字节统一进行编码。那样,像这样统一编码,2个字节就已经足够容纳世界上所有的语言的大部分文字了。

 

UCS:

Unicode的学名是"Universal Multiple-Octet Coded Character Set",简称为UCSUCS分两种,即UCS-2UCS-4,目前常用的是UCS-2,因为经过统一编码之后,2字节已能表示世界上的所用文字了,暂时用不到4个字节,UCS-4是留给以后扩展用的。

 

UTF:

Unicode是一套全新的编码,是与以往的编码都不兼容的,汉字自然不用说,即使是ascii字符,其Unicode码也是要在原来的ascii码之前加上一个字节的0。这样,Unicode在使用和传输时就遇到了问题,在C语言和很多类Unix系统里面,一个字节的ascii码往往有控制作用,可以做转意字符,在文件或库函数里有特殊的作用,两字节的Unicode码无法应用。

这时UTF出现了,UTFUCS Transformation Format,它既保留了Unicode的优势,又能够与ascii兼容。

UTF-8就是以8位为单元对UCS进行编码,UTF-1616位为单元对UCS进行编码。

UTF-8为例:

1UCS 字符 U+0000 U+ 007F (ASCII) 被编码为字节 0x00 0x 7F (ASCII 兼容).。这意味着只包含 7 ASCII 字符的文件在 ASCII UTF-8 两种编码方式下是一样的。

2、所有 >U+ 007F UCS 字符被编码为一个多个字节的串, 每个字节都有标记位集,最高字节以n1开始,n为字节个数,下面每个字节以10开始。因此。ASCII 字节 (0x00-0x 7F ) 不可能作为任何其他字符的一部分,不会出现混乱。

下面”:”左边是unicode码,右边是UTF-8编码。下列字节串用来表示一个字符。用到哪个串取决于该字符在 Unicode 中的序号。

U-00000000 - U -0000007F : 0xxxxxxx

U-00000080 - U-000007FF: 110xxxxx 10xxxxxx

U-00000800 - U-0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx

U-00010000 - U-001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

U-00200000 - U-03FFFFFF: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx

U-04000000 - U-7FFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx

总之,UTF的原理就是把统一长度的Unicode变为了可变长度的字节组合,如果是ascii字符的话,编码能与ascii表兼容,如果是其它字符的话,也容易得到其Unicode码。

例如: Unicode 字符 U+ 00A 9 = 1010 1001 (版权符号) UTF-8 里的编码为:

11000010 10101001 = 0xC2 0xA9

而字符 U+2260 = 0010 0010 0110 0000 (不等于) 编码为:

11100010 10001001 10100000 = 0xE2 0x89 0xA0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值