一句来自《三国》中的话——分久必合合久必分,各个字符集之间也存在的分久必合的现象。随着国际标准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编码家族占用空间最大的,在开发时候不应忽略这一点。
分享到:
相关推荐
关于GBK和Unicode字符集转换乱码问题
【Unicode字符集】Unicode字符集系列
MFC在unicode字符集下的多字节串口调试助手,涉及到了MFC在unicode编码和多字节编码之间的转换,所用的编译器为VS2013,可以直接在VS2013中运行
unicode 汉字字符集 汉字完整版
Unicode字符集,Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,...
Unicode标准字符集,V6.1版,是从Unicode联盟网站下载的,比一般windows常用的Unicode字符集多出很多附加字符,如埃及的象形文字 等
在VS2008中,默认的字符集形式是Unicode,但在VC6.0等工程中,默认的字符集形式是多...这里总结了在VS2008环境中 Unicode字符集下CString和char *之间相互转换的几种方法,其实也就是Unicode字符集与MBCS字符集转换。
Java,每一个软件开发人员绝对必须掌握的关于 Unicode 和字符集的最基础的知识
unicode 字符集 与 多字节字符集转换/kekegeneral
Unicode字符集 8.0,2015-06-17最新标准
一个浏览Unicode字符集的工具,可以加载不同的字体.研究Unicode字符集的绝好工具.
Unicode 字符集的转换
unicode字符编码表 可以用图片浏览器打开 全面详细 看起来方便得多
Unicode字符集.pdf
而由字符组成的集合则成为字符集,字符集由于包含字符的多少与异同而形成了各种不同的字符集。我们知道,所有字符在计算机中都是以二进制来存储的。那么一个字符究竟由多少个二进制位来表示呢?这就涉及到字符编码的...
Unicode字符集和多字节字符集关系[借鉴].pdf
If you are an existing user, make sure you know the Top 10 Features and that you reclaimed shortcuts Visual Studio usurped over the years, including Shift+Alt+O assigned to Open Web Site....
标准的现代维吾尔文字符集unicode编码表
unicode字符集下编写多字节的串口调试助手,涉及到了unicode和多字节之间的转换
Unicode字符大全