十六进制转文本 在线十六进制编解码转换工具
UTF-8中文编码无乱码,文本与Hex双向互转,支持0x前缀和字节间空格,适合调试协议数据、学习进制原理和数据处理使用。
更新于 2026-08-26
相关工具
功能特性
- 将文本编码为十六进制表示
- 将十六进制解码回文本
- 支持 UTF-8 编码
- 处理多字节字符
- 即时转换,输入即显示
- 一键复制结果
- 解码网络抓包、内存转储和调试器输出中的十六进制数据
- 处理二进制协议负载:支持连续或空格分隔的十六进制串
使用方法
- 1选择转换模式(编码或解码)。
- 2在输入框输入文本或十六进制。
- 3结果即时显示。
- 4点击复制按钮复制结果。
- 5切换模式以反向转换。
- 6将文本转换为十六进制用于 CSS 颜色值:输入颜色名查看其 RRGGBB 十六进制等效值。
- 7解码网络数据包分析中的十六进制转储:粘贴连续的十六进制字符串恢复原始文本。
- 8输入 emoji 或中文字符查看多字节 UTF-8 十六进制表示,有助于理解 Unicode 编码原理。
- 9使用 0x 前缀选项生成 C、C++ 或 Rust 源代码中的十六进制常量(如 0x48656C6C6F)。
- 10复制十六进制输出并粘贴到十六进制编辑器或二进制文件查看器中进一步分析。
常见问题
什么是十六进制编码?
十六进制编码将文本转换为十六进制数字序列(0-9、A-F)。每个字符由其 ASCII 或 UTF-8 字节值的十六进制表示。例如,'A'(ASCII 65)变成 '41'。十六进制比二进制更紧凑,常用于编程。
为什么使用十六进制?
十六进制应用广泛,因为:比二进制更紧凑(2 个十六进制数字 = 8 位),易于与二进制转换(每个十六进制数字 = 4 位),用于内存地址、颜色代码和二进制数据表示。这是以可读格式显示二进制数据的标准方式。
十六进制编码与十六进制数字有什么区别?
十六进制编码逐字符将文本转换为十六进制字节。十六进制数字以 16 进制表示数值。例如,'255' 作为十六进制数字是 'FF',但作为十六进制编码文本是 '32 35 35'(三个字符)。此工具做的是文本编码,不是数字转换。
可以使用 0x 前缀吗?
可以!解码时,工具会自动移除 '0x' 前缀(如果存在)。这在编程中很常见(例如 0x48656C6C6F)。您也可以在字节之间使用空格或输入连续的十六进制字符串。
UTF-8 编码如何工作?
UTF-8 是可变宽度编码。ASCII 字符(0-127)使用 1 字节(2 个十六进制数字)。其他字符使用 2-4 字节。例如,'A' 是 '41','é' 是 'C3 A9','你' 是 'E4 BD A0'。因此所有 Unicode 字符都能紧凑表示。
这有什么用途?
十六进制编码适用于:调试网络协议、处理二进制文件、分析内存转储、理解数据编码以及教育目的。常用于处理底层系统、加密或需要查看文本的原始字节表示时。
如何从内存转储中读取十六进制字节?
在内存转储中,每个十六进制字节代表 8 位。两个十六进制数字组成一个字节(0x00-0xFF)。例如,48 65 6C 6C 6F = 'Hello'。十六进制对按顺序读取。大多数调试器将内存显示为每行 16 个十六进制字节,旁边附有 ASCII 表示。
为什么 MAC 地址和内存地址使用十六进制?
MAC 地址是 48 位值,写为 12 个十六进制数字(如 00:1A:2B:3C:4D:5E)。调试器中的内存地址也用十六进制,因为十六进制很紧凑:32 位地址仅 8 个十六进制数字。每个十六进制数字正好代表 4 位,使转换非常直观。
十六进制编码能逆回去还原成原文吗?
可以,十六进制编码完全可逆:工具能把文本转成十六进制字节,也能无损还原为原文。这正是它与哈希的关键区别:哈希是单向的,生成固定长度的摘要,无法还原为原始输入。十六进制编码保留完整数据;哈希只用于完整性校验。
可以用这个工具转换二进制文件吗?
本工具将文本转为十六进制,反之亦然。对于二进制文件,文件内容被读取为文本。如需将图片或可执行文件真正转为十六进制,需要使用专用十六进制编辑器读取原始二进制字节。
这个工具对 Web 开发有什么帮助?
调试 WebSocket 消息、检查 HTTP 响应体的十六进制表示、处理颜色代码(#FF5733)、或检查 UTF-8 编码问题时,十六进制编码非常有用。Web 开发者在处理 ArrayBuffer 或 TypedArray 中的二进制数据时也会用到十六进制。
为什么 hex 转文本后输出的全是乱码?
你解码的字节很可能本来就不是 UTF-8 文本:图片、压缩数据或 UTF-16/GBK 编码的内容都会解出乱码,不完整(奇数长度)的十六进制串还会破坏最后一个字节。例如 'E4 BD A0' 按 UTF-8 解码是「你」,按 ASCII 读就是乱码。任何在线 hex 转文本转换器(包括本工具)都只是解码你提供的字节,输出内容由源数据决定,而不是由转换器决定。转换前请确认源数据是 UTF-8 文本。
为什么这个 hex 转文本转换器解不了 UTF-16 文本?
本工具按 UTF-8 解码,这是大多数网页和 Linux 文本使用的编码。Windows 的「Unicode」文件是 UTF-16LE,以字节序标记开头:'A' 显示为 'FF FE 41 00' 而不是 '41'。把这些字节按 UTF-8 解码就会得到乱码。如果你的十六进制来自 UTF-16 源,请先把文本转成 UTF-8,或使用支持 UTF-16 的工具。本转换器面向常见的 UTF-8 场景设计。