我可以使用UTF-8/16/32编码任何unicode符号吗?

时间:2014-07-07 08:29:11

标签: java unicode encoding utf-8 character-encoding

我知道unicode是一个巨大的符号集。它使日本成为中国字母。

我正在阅读有关UTF-8/16/32的信息,但我无法找到可以使用UTF-8/16/32从unicode完全编码任何符号的短语。

每个unicode编码都具有相同的功能是真的吗?

如果它是真的那么使用utf-16/32的原因是什么 - utf-8使用内存更“体面”和ascii兼容性?

2 个答案:

答案 0 :(得分:2)

是的,你可以。对于所有读者:Unicode是从U + 0000到3字节范围的编号。 UTF-8是一个多字节代码,它将字节链接到设置高位,一些序列位和空闲编号位。 UTF-16也有逃脱。而UTF-32就足够了。

对于亚洲脚本,UTF-8 不是最佳,对于拉丁文脚本, 是最佳的。一般而言,这只会在小型设备或大型数据库中发挥作用。

答案 1 :(得分:1)

所有UTF-x编码都可以代表所有Unicode码点序列。

使用UTF-32,每个代码点需要4个字节。

使用UTF-16,大多数代码点使用2个字节;异乎寻常的代码点通过UTF-16代理使用4个字节。

使用UTF-8,代码点可以使用1到4个字节。

对于欧洲字符集,UTF-8是内存效率最高的编码。