Unicode字符集详解

一句来自《三国》中的话——分久必合合久必分,各个字符集之间也存在的分久必合的现象。 随着国际标准ISO10646规定的通用字符集(UCS,全称Universal Mutiple-Octet Doded Character Set)的发布,各种字符集之间不统一和谐的问题就得到了改观。

UTF编码,全称是Unicode Transformer Format,这种编码是UCS的实际形式,它的分类是按照其基本长度所占用的位数而定,分为UTF-8/16/32三种形式。UTF可以说是其他字符集的集合,它使得其它字符集是交叉兼容的,可以说,凡是将文字符号转为UCS后再转回原来的编码,也不会丢失信息。

UCS包含了现在所有的已知语言的字符,包含从拉丁文、希腊语到中文、韩文等象形文字,再到日文的平假名、片假名等众多语系 。因此使用UTF进行程序开发,绝对是程序国际化的首选,Unicode将世界的语言统一起来,构成了最伟大的字符集。

 

 

 

 1.UTF-8字符集

UTF-8保证了字母与数字都是一个字节,其他的文字用不定长编码,最多占用6个字节,它支持31位编码。前64K的Unicode(UCS-2)编成UTF-8只需要3个字节。

 UTF-8的最大优点:

  • 能够与128位以下编码和单字节处理软件兼容
  • UTF-8的多字节编码没有字节错乱问题。例如删除半个汉字时(在某些软件如CuteFTP中)时不会导致其他文字乱码

 2.UTF-16字符集

UTF-8是变长编码,每个Unicode代码点按照不同范围,可能会存在着1-3个不同的字节。

UTF-16是相对固定的编码,如果处理的内容在U200000范围内,每个Unicode代码点都是16位的,超出的话,就会使用2个UTF-16(也就是4个字节)。同时UTF-16还按照位的字节高地分为UTF-16BE和UTF-16LE。

 

 3.UTF-32字符集

UTF-32字符集始终固定,没有UTF-8/16的定位问题,每个Unicode代码点都是用32位表示(也就是4个字节)。同样,它也按照 位的字节高地分为UTF-32BE和UTF-32LE。

 

 

结语:

UTF可以说是各种文字的大杂烩,这样让各种字符融会贯通,只要通过简单的定位,就可以实现对字符串的各项操作了(UTF-32不需要定位即可),但是UTF-32是UTF编码家族占用空间最大的,在开发时候不应忽略这一点。

转载于:https://www.cnblogs.com/wxzbb/archive/2008/08/04/1260296.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值