编码解码哈希加密格式化时间转换开发生成文本处理网络工具其他工具
首页 / 编码解码 / 文本转十六进制

文本转十六进制

文本和十六进制互转。

输入
结果

这个工具能做什么

这个工具做的事很直接:把一段文字按 UTF-8 编码逐字节转成十六进制表示,或者反过来,把一串十六进制字节还原成可读文字。日常调试里经常碰到这种需求——协议文档里给的是十六进制报文,日志里打印出来的是一堆 hex,你想知道它到底对应什么字符串;或者你手里有一段中文,想确认它在网络上传输时实际发出的字节到底是哪几个。手动查 ASCII 表、一个字节一个字节拼,既慢又容易错,尤其中文一个字要占三个字节,肉眼根本对不过来。文本转十六进制、十六进制转文本放在一起,输入什么方向都能立刻看到结果,本地处理不上传,粘贴敏感报文也不用担心。

原理上要抓住一个关键点:十六进制本身不是一种字符编码,它只是字节的一种书写方式。真正决定「文字」和「字节」如何对应的是字符编码,这里用的是 UTF-8。文字转 hex 的过程是先按 UTF-8 把每个字符编码成一个或多个字节,ASCII 范围内的字符占一个字节,常见汉字占三个字节,然后把每个字节的数值写成两位十六进制。比如字母 A 的码点是 65,十六进制就是 41;汉字「中」的 UTF-8 字节是 E4 B8 AD 三个字节。还原时正好相反,把十六进制串每两位切成一个字节,再交给 UTF-8 解码器拼回字符。理解这一层就明白,同一段中文用 GBK 编码得到的 hex 会和 UTF-8 完全不同,字符串转 hex 之前一定要先确认编码,否则还原出来就是乱码。

最典型的场景是调试二进制协议和排查编码问题。比如你在对接一个 TCP 私有协议,抓包工具给出的是 48 65 6c 6c 6f 这样的十六进制流,直接粘进来做 hex 转字符串,立刻看到是 Hello,省去查表的功夫;反过来要构造测试报文,把约定好的字符串转成 hex 填进去就行。另一个常见用途是定位「乱码」的根因:接口返回的中文显示成问号或方块,你把原始字节的十六进制拿来还原,如果 UTF-8 解出来正常、说明是前端渲染或响应头 charset 的问题,如果解出来仍是乱码、那多半是上游用了 GBK 之类的编码,问题就缩小到了具体环节。写单元测试断言字节内容、核对数据库里 BLOB 字段、看文件头 magic number,也都用得上文本 hex 转换。

有几个容易踩的点要提一下。第一,十六进制只是字节的表示,它和 Base64 不是一回事:Base64 是把三个字节压成四个可打印字符、更省空间但不直观,hex 是一字节两字符、体积翻倍但一眼能对齐字节边界,调试时更常用 hex。第二,这个工具做的是可逆的编码转换,不是哈希——MD5SHA-256 这些也常以十六进制显示,但它们是单向摘要、不能还原回原文,别把两者搞混。第三,还原时输入的十六进制必须是偶数个字符且都在 0-9 a-f 范围内,中间的空格、0x 前缀、大小写通常能兼容,但出现奇数位或非法字符就无法正确切分字节。最后再强调一次,转换方向和编码要对得上,拿 GBK 的字节按 UTF-8 解自然是乱码,这不是工具的问题。

文本转十六进制是一个免费的在线工具,打开网页就能用,不用下载也不用注册。平时大家搜的“文本转十六进制”、“十六进制转文本”、“hex转字符串”,说的都是这个。

常见使用场景

使用方法

  1. 把内容粘贴到输入框(生成类工具直接设置选项)。
  2. 按需要选择选项,点操作按钮。
  3. 结果出现在下方,点「复制结果」即可带走。

常见问题

十六进制转文本时为什么还原出来是乱码?
多半是编码不匹配。本工具按 UTF-8 解码,如果这串字节原本是 GBK、Latin-1 等其他编码生成的,就无法正确还原。先确认原始字节用的是哪种编码,编码对不上再对齐就能解出正确文字。
一个汉字转成十六进制为什么是六位(三个字节)?
因为常见汉字在 UTF-8 下编码为三个字节,每个字节写成两位十六进制,合起来就是六位。例如「中」是 E4 B8 AD。ASCII 字符只占一个字节,所以字母和数字都是两位。
输入的十六进制可以带空格或 0x 前缀吗?
可以。还原时字节之间的空格、0x 前缀、大小写一般都能识别并忽略,只要有效字符是 0-9 和 a-f 即可。但字符总数必须是偶数,出现奇数位或其他非法字符就无法正确切分字节。
十六进制和 Base64 有什么区别,该用哪个?
两者都能表示二进制,但 hex 是一字节对应两个字符、直观且便于按字节对齐,适合调试;Base64 是三字节压成四字符、更省体积,适合在文本协议里传输二进制。看报文、核对字节用 hex,嵌入 JSON 传数据用 Base64。
这个转换和 MD5、SHA 的十六进制是一回事吗?
不是。本工具是可逆的编码转换,hex 能完整还原回原文;MD5、SHA-256 虽然也常用十六进制显示,但它们是单向哈希摘要,只是碰巧用 hex 表示结果,无法从摘要反推原文。

相关工具

查看全部「编码解码」工具 →

相关名词解释