Unicode 的创建目的是将世界上所有字符纳入一个通用字符集,用于 Unix、Windows、macOS、Plan 9、Java 等系统。它不仅包含现代字符,还包括古代字符、历史字符、数学符号和表情符号。

考虑了与 Unicode 之前字符编码的互操作性,在需要历史或实际识别时,保留了兼容区,并设计了一些字符在从原始编码转换为 Unicode 再转换回原始编码时能够恢复(往返转换)。然而,在官方 JIS X 0208 范围内问题较少,但在混合多种字符集或存在 CP932(Shift_JIS 实际状态)、CP51932 和 eucJP-MS 等 EUC-JP 变体差异时,仍可能出现乱码。

各字符编码格式示例

00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
UTF-8 A Ω 😊
41 CE A9 E8 AA 9E F0 9F 98 8A
UTF-16 A Ω 😊
0041 03A9 8A9E D83D DE0A
UTF-32 A Ω 😊
00000041 000003A9 00008A9E 0001F60A