Hex ↔ 文本
UTF-8 文本与十六进制字节序列互转
编码前可设置分隔符、大小写和前缀;解码允许空白、逗号和 0x,剩余十六进制位数必须为偶数。
示例
输入
A中
示例结果
41 e4 b8 ad
选择空格分隔、小写、无前缀。中文字符的 UTF-8 字节与 Unicode 编号不同。
技术细节与边界
一个字节用两位十六进制表示,取值 00–FF。ASCII 字母常为 1 字节,常见汉字在 UTF-8 中为 3 字节。解码移除 0x、空白及逗号后,要求位数为偶数并通过严格 UTF-8 检查;这不是把整个输入当作一个大整数。
关于此工具
在文本与 UTF-8 十六进制字节之间双向转换。编码可选大小写、空格或逗号分隔及 0x 前缀;解码检查字符与字节长度,适合排查协议文本、乱码和转义数据。
适用场景
- 查看某段文本在传输时的实际字节序列。
- 把配置里粘的一串 `0x` 字节还原为可读字符串。
- 排查编码问题(UTF-8 vs GBK vs ISO-8859-1)时确认字节。
操作步骤
- 在输入框放入文本或十六进制串。
- 选择输出的分隔样式(无分隔、空格、逗号)与是否加 `0x` 前缀。
- 点击“编码”得到十六进制字节;点击“解码”还原 UTF-8 文本。
注意事项
解码允许 0x 前缀、空白和逗号;其他非十六进制字符会报错,剩余位数须为偶数。
常见问题
- `0xE4` 和 `E4` 有区别吗?
- 没有;`0x` 只是前缀。解码时都被认作字节 0xE4。
- 解码大小写重要吗?
- 不重要。工具接受 `A-F` 与 `a-f`。
- 为什么 e4 b8 不能解码成“中”?
- 它缺少最后一个 ad 字节。UTF-8 是变长编码,截断多字节序列会导致解码失败。
- 一个汉字为什么会显示多组十六进制?
- 本工具表示的是 UTF-8 字节,不是字符的 Unicode 编号。每两个十六进制位表示一个字节,一个字符可能编码为多个字节。
相关工具