相关工具
在线字符串转Unicode编码工具,支持字符串和Unicode编码互相转换。转换支持设置是否保留ASCII字符,支持处理多字节Unicode编码。
-
基础名词释义:
- Unicode 字符集(Unicode Character Set):一个抽象的“大仓库”,收录了全人类所有文字、符号、Emoji 的抽象标准。它只定义“有哪些字符”,不关心这些字符在电脑里长什么样(那是字体的事),也不关心怎么存储。 例如:它收录了 A、你、😀 等字符。
- Unicode 代码点(Code Point):给字符集里每个抽象字符分配的一个唯一的数字编号。这是数学上的整数,范围从 U+0000 到 U+10FFFF(约 111 万个位置)。 通常用十六进制加 U+ 前缀表示。 例如:字符 A 的码点是 U+0041(十进制 65)。字符 你 的码点是 U+4F60(十进制 20320)。Emoji 😀 的码点是 U+1F600(十进制 128512)。
-
Unicode 字符集编码(Character Encoding / UTF):将“码点”(Code Point,
整数)转换为“二进制字节流”的具体实现规则。因为计算机只认 0 和
1,但码点数字大小不一(有的需要 1 个字节存,有的需要 4 个字节),所以必须有一套算法来规定怎么存,以便读取时能准确解析回来。
常见的编码方案(UTF 家族):
- UTF-32:定长。所有码点固定用 4 个字节存。简单直接,但极其浪费存储空间。
- UTF-16:变长。常用字符(BMP内)用 2 个字节,生僻字/Emoji 用 4 个字节(即代理对)。JavaScript 和 Java 内部采用此编码。
- UTF-8:变长。使用 1~4 个字节,兼容 ASCII(英文占 1 字节),是全球互联网最主流的编码(HTML、文件默认)。
-
直观对比表格:
字符 代码点点(Code Point) UTF-8 编码 UTF-16 编码 UTF-32 编码 A U+0041 41(1字节) 0041(2字节) 00000041(4字节) 你 U+4F60 E4 BD A0(3字节) 4F60(2字节) 00004F60(4字节) 😀 U+1F600 F0 9F 98 80(4字节) D83D DE00(4字节,代理对) 0001F600(4字节)
- 输入内容:输入待转换的字符串或者 Unicode 代码点转义格式字符串。
-
模式:选择 字符串转 Unicode 的转换模式。
保留 ASCII:表示将 ASCII 以外的字符转换为对应的 Unicode 转义格式,ASCII 字符保持不变。
保留 Latin1:表示将 Latin1 以外的字符转换为对应的 Unicode 转义格式,Latin1 字符保持不变。
不保留:表示将所有输入字符转换为 Unicode 转义格式。 -
Code Point格式:选择使用的 Unicode 代码点的转义格式。
本工具支持以下五种格式:
- \uXXXX:\u+四位十六进制数字。大于 0xFFFF 的 Unicode Code Point 使用代理对表示。 Java 编程语言采用这种格式。
- \u{XXXXX}:变长码点,通过变长的十六进制数字,能够表示所有 Unicode Code Point。 PHP, Rust 编程语言采用这种格式。
- \UXXXXXXXX:\U+八位十六进制数字,能够表示所有 Unicode Code Point。
- \uXXXX\u{XXXXX}:小于等于 0xFFFF 的代码点,使用 \uXXXX 的格式。大于 0xFFFF 的代码点,使用 \u{XXXXX} 的格式。 JavaScript, Ruby 编程语言采用这种格式。
- \uXXXX\UXXXXXXXX:小于等于 0xFFFF 的代码点,使用 \uXXXX 的格式。大于 0xFFFF 的代码点,使用 \UXXXXXXXX 的格式。 Python, C/C++, C#, Go 编程语言采用这种格式。
- 大小写:将字符串转换成 Unicode 转义字符时,十六进制数字是大写还是小写。
- 字符串转 Unicode:将输入的字符串使用选择的模式转换为 Unicode 转义格式。
- Unicode 转字符串:将输入的 Unicode 转义字符转换为普通字符串。
- 打开:打开 UTF-8 编码的文本文件。
- 下载:将转换结果下载到本地,文件编码为 UTF-8 。