2019年9月17日 周二
浅谈Unicode/UTF-8/UTF-16/UTF-32
1.它们都是什么?
(1)Unicode:
又称为统一码、单一码、万国码,是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
(2)UTF8:
UTF-8以字节为单位对Unicode进行编码,其特点是对不同范围的字符使用不同长度的编码。
(3)UTF16:
UTF-16编码以16位无符号整数为单位。
(4)UTF32:
UTF-32编码以32位无符号整数为单位。
2.它们之间都有什么联系?
Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。目前的Unicode字符分为17组编排,0x0000 至 0x10FFFF,每组称为平面(Plane),而每平面拥有65536个码位,共1114112个。然而目前只用了少数平面。UTF-8、UTF-16、UTF-32都是将数字转换到程序数据的编码方案。
UTF是“Unicode Transformation Format”的缩写,可以翻译成Unicode字符集转换格式,即怎样将Unicode定义的数字转换成程序数据。
3.举个栗子
在Unicode中:汉字“字”对应的