文本 ↔ 十六进制 / 二进制转换
把文本转成十六进制、二进制或十进制字节,也能反向解码字节串
本地运行
loading…
关于此工具
看清你的文本究竟由哪些字节组成:这个工具把文本编码为 UTF-8,以十六进制、二进制或十进制字节值展示——分隔符、大小写和 0x 前缀都由你选择。解码器走另一个方向,而且有意宽容:连续串(48656c6c6f)、空格分隔的字节对、冒号分隔的 MAC 地址风格写法和 \x 转义序列都能接受。
因为编码是字节级的 UTF-8,多字节字符呈现的正是它们在内存和网络上的真实形态:é 是 c3 a9,世 是 e4 b8 96,emoji 占四个字节。这让它成为排查编码错乱、BOM 之谜和「这字符串怎么比看起来长」问题的最快途径。
如果解码出的字节不是合法 UTF-8,工具会明确说明而不是打印乱码——这强烈暗示你面对的是二进制数据而不是文本。
常见问题
- 为什么一个字符会变成好几个字节?
- UTF-8 是变长编码:ASCII 保持一个字节,多数欧洲字母两个,CJK 三个,emoji 四个。你在这里看到的,就是任何 UTF-8 系统——文件、HTTP、数据库——为你的文本实际存储的字节序列。
- 解码器接受哪些输入格式?
- 十六进制可以是连续串、空格分隔的字节对、带 0x 或 \x 前缀,或用冒号/逗号分隔;二进制是 8 位一组,带不带空格都行;十进制是分隔开的字节值。混用的分隔符和多余空白会被自动清理。
- 为什么解码提示字节不是合法 UTF-8?
- 这串字节违反了 UTF-8 规则——比如孤立的 ff,或没有前导字节的续延字节。数据可能是二进制、Latin-1 之类的传统编码,或在字符中间被截断了。
- 这和 xxd 的十六进制转储一样吗?
- 字节值完全相同;xxd 额外加了偏移量和 ASCII 列。把 xxd 输出中的十六进制列(去掉偏移列)粘到这里就能正常解码。