🌐 Unicode转换
中文 ⇄ Unicode 互转
中文 ⇄ Unicode 互转
Unicode为世界上每个字符分配唯一编号。如"中"的Unicode是\u4e2d(U+4E2D)。\u前缀加4位十六进制表示。JavaScript/JSON字符串常用此格式。
1.避免编码问题(不同编码环境中文乱码);2.JSON/JS国际化兼容;3.防止XSS过滤。但现代系统大多支持UTF-8,一般无需手动转换。
Unicode是"字符表"(给每个字符编号);UTF-8是"编码方案"(把编号转成字节存起来)。中文在Unicode表里是U+4E2D,在UTF-8里存成3个字节E4 B8 AD。
UTF-8按码位范围变长编码:U+0800到U+FFFF范围(含常用汉字)用3字节,ASCII用1字节,表情符号(U+10000以上)用4字节。
是一样的编号,只是写法不同:\u4e2d 是JS/JSON里的转义写法,U+4E2D 是Unicode标准写法。两者都表示"中"这个字符。
默认只转非ASCII字符(码位大于127的,主要是中文、符号),英文和数字保持原样,这样结果更易读。
能。工具支持把\u4e2d这种转义还原成"中"。如果是\uXXXX格式的字符串,直接粘贴解码即可。
Emoji也是Unicode字符,但码位较高(多为U+1Fxxx),需要4字节UTF-8或代理对表示。本工具主要处理4位十六进制的常用字符。
Unicode是给每个字符一个唯一的码点(编号),UTF-8是把这个码点编码成字节序列。中文"中"的码点是U+4E2D(十进制20013),在UTF-8里表示为E4 B8 AD三个字节。
| 字符 | Unicode码点\u | UTF-8字节(16进制) | UTF-8字节(10进制) |
|---|---|---|---|
| 中 | \u4e2d | E4 B8 AD | 228 184 173 |
| 文 | \u6587 | E6 96 87 | 230 150 135 |
| 你 | \u4f60 | E4 BD A0 | 228 189 160 |
| 好 | \u597d | E5 A5 BD | 229 165 189 |
这就是"中文3字节"的由来:码点在U+0800~U+FFFF的字符,UTF-8用3字节表示。
所以"UTF-8"不是固定2字节或3字节,是按字符范围智能变长的。
JSON规范允许用\uXXXX表示任意字符,很多后端库默认把非ASCII转成\uXXXX输出,以保证纯ASCII的JSON文本跨环境兼容。
所以你会看到接口返回"\u4e2d\u6587"而不是"中文"。前端JSON.parse会自动还原成中文,无需手动处理。
乱码几乎都是"编码和解码不一致"造成的:文本用UTF-8存的,却用GBK解码;或用GBK存的用UTF-8读。
统一用UTF-8(现代标准)能避免99%的乱码。遇到乱码时,先用本工具确认实际编码,再选择正确的解码方式。
| 范围 | 区域 | 示例 |
|---|---|---|
| U+0000 - U+007F | ASCII | A、0、! |
| U+4E00 - U+9FFF | 中日韩统一表意文字(常用汉字) | 中、国、你 |
| U+3000 - U+303F | 中日韩标点 | 、。 |
| U+1F600 - U+1F64F | Emoji表情 | 😀 |
| U+FF00 - U+FFEF | 全角字符 | A、, |
1. 输入文本或Unicode编码。
2. 选择转换方向。
3. 复制结果。