Unicode 是什么?
定义:Unicode 是一个字符编码标准,旨在为世界上所有的字符分配一个唯一的编码
编码范围:Unicode 的编码范围从 0x0000 到 0x10FFFF,能够表示超过一百万个字符。
Unicode 包含几乎所有书写系统的字符,包括拉丁字母、汉字、阿拉伯字母、希腊字母等。
UTF-8 是什么?
定义:UTF-8 (Unicode Transformation Format - 8-bit) 是一种用于表示 Unicode 字符的可变长度字符编码
编码方式:UTF-8 使用 1 到 4 个字节来编码 Unicode 字符:
1 个字节:用于表示 ASCII 码中的字符(U+0000 到 U+007F)
2 个字节:用于表示大部分常用的拉丁字母扩展字符(U+0080 到 U+07FF)
3 个字节:用于表示基本多文种平面(BMP)中的字符(U+0800 到 U+FFFF)
4 个字节:用于表示补充字符平面中的字符(U+10000 到 U+10FFFF)
联系
Unicode 是字符的标准集合,可以用多种不同的编码方式来表示,例如 UTF-8、UTF-16、UTF-32 等。UTF-8 是其中最常用的一种编码方式。
区别
Unicode 转义序列
格式:\uXXXX
,其中 XXXX 是 4 位十六进制数,表示一个 Unicode 码点。
用途:用于表示 Unicode 字符,通常在 JSON、JavaScript 字符串、Java 字符串等场景中使用。
示例
字符编码是一种规则,将字符映射为特定的字节序列。不同的编码方案(如 UTF-8、GBK)有不同的映射规则。
例子:
字符 "中" 的 Unicode 码点是 \u4E2D,将 \u4E2D 转换为 UTF-8 编码,步骤如下:
根据 UTF-8 编码规则,0x4E2D 需要用 3 个字节来表示,编码步骤:
将 0x4E2D 转换为二进制:01001110 00101101。
根据 UTF-8 编码格式 1110xxxx 10xxxxxx 10xxxxxx,将二进制分段并填充:
1110 与 0100 → 11100100
10 与 111000 → 10111000
10 与 101101 → 10101101
得到 UTF-8 编码字节序列:E4 B8 AD。