答案是否定的。

Unicode 和 UTF-8 有什么区别??

www.zhihu.com
图标

介绍两个概念,字符集和编码规则。

  • Unicode 是「字符集」
  • UTF-8 是「编码规则」

字符集:为每一个「字元」分配一个唯一的 ID(学名为码位 / 码点 / Code Point)

编码规则:将「码位」转换为位元组序列的规则(编码/解码 可以理解为 加密/解密 的过程)

ANSI的」Ascii」编码(American Standard Code for Information Interchange,美国信息互换标准代码)

GB2312 是对 ASCII 的中文扩展。

GBK包括了GB2312 的所有内容,同时又增加了近20000个新的汉字(包括繁体字)和符号

又加了几千个新的少数民族的字,GBK扩成了GB18030

广义的 Unicode 是一个标准,定义了一个字符集以及一系列的编码规则,字符集和 UTF-8、UTF-16、UTF-32 等等编码……

Unicode 字符集为每一个字元分配一个码位,例如「知」的码位是 30693,记作 U+77E5(30693 的十六进位为 0x77E5)。

Unicode 和 UTF-8 有什么区别??

www.zhihu.com
图标

笨笨阿林:刨根究底字元编码之十三——UTF-16编码方式?

zhuanlan.zhihu.com图标笨笨阿林:刨根究底字元编码之十四——UTF-16究竟是怎么编码的?

zhuanlan.zhihu.com
图标

结论

UTF-16是变长编码方式,每个字元编码为16位或32位;而UCS-2是定长编码方式,每个字元编码固定为16位。但两者的码元却都是16位的(而UTF-32和狭义的UCS-4的码元都是32位的)。

另外,UTF-16中,大部分汉字采用两个位元组编码,少量不常用汉字采用四个位元组编码。

Windows 2000及之后的版本是支持UTF-16的,之前的Windows NT/95/98/ME是只支持UCS-2的。

在 Java 中,UTF-16 代码单元和代码点分别是什么意思??

www.zhihu.com图标
推荐阅读:

相关文章