utf-8,utf-16,utf-32与unicode
-
unicode
unicode是计算机科学领域的业界标准,用于对世界上存在的字符进行编码。进一步说unicode是一份字符码表,分为17个平面,U00****----U10****(16进制),所以每个平面下有2的16次方个编码符号,其中00平面称为基本多文种平面(平面介绍可百度),其他为辅助平面。 -
unicode到utf
unicode是一份字符码表,我们可以理解为这是一份对世界上的字符编码的一种规范,进一步地需要对字符的存储与传输,这就是utf(Unicode Transformation Format).utf8码元为1字节,使用1-4码元进行表示;utf16码元为2字节,实用1-2个码元进行表示;utf32为定长编码,使用4字节表示(表示范围超出unicode).
-
一些思考
java中会将char,byte等类型扩展为两字节,跟其使用utf16对字符编码有关系,互联网传输中为了提高传输速率会考虑使用utf8进行编码。