十六进制编码/解码(二进制)

100% 客户端处理(无需服务器上传)。将二进制文件转换为十六进制文本(纯文本、0x…、C语言\xHH或%HH格式),并将十六进制文本解码回文件,支持严格验证、分隔符处理和可预测的输出格式化。

Loading…

关于 十六进制编码/解码(二进制)

此工具可将二进制文件转换为十六进制文本,也可将十六进制文本解码回二进制文件,整个过程完全在您的浏览器中完成。选择一个操作(编码文件→十六进制或解码十六进制→文件),选择您想要的十六进制格式(纯文本、0x…、C语言风格\xHH或%HH),并控制格式化细节,如字母大小写、字节分隔符、换行和行尾。对于解码,您可以接受常见的标记样式(0x、\xHH、%HH),允许分隔符/空白字符,并可选择忽略非十六进制字符或通过严格验证快速失败。

功能特点

  • 100% 客户端处理(无需服务器上传)。
  • 通过拖放区域上传并批量处理多个文件(支持多文件)。
  • 两种操作:编码文件→十六进制文本,或解码十六进制文本→文件。
  • 十六进制输出格式:纯文本(deadbeef)、0x…前缀、C语言转义(\xHH)和百分比(%HH)。
  • 字母大小写控制:十六进制数字小写或大写。
  • 用于可读性的字节分隔符:无、空格、冒号(:)、短横线(-)、下划线(_)、逗号(,)。
  • 仅编码时的换行:每行换行字节数(0表示禁用换行)+ 可选的行分隔符(LF或CRLF)。
  • 仅编码时的切换选项:插入最终换行符;为0x风格输出可选每字节添加0x前缀(0xDE 0xAD …)。
  • 仅解码时的解析控制:接受0x前缀、接受\xHH转义、接受%HH编码、允许分隔符/空白字符、忽略非十六进制字符以及奇数长度处理(报错或用0左填充)。
  • 严格验证模式,可及早拒绝格式错误的输入,而非尽力解析。

使用方法 for hex-binary-encoder

1

拖放文件或粘贴十六进制文本

对于编码,将一个或多个二进制文件拖放到拖放区域。对于解码,将十六进制文本粘贴到输出编辑器(或拖放包含十六进制的.hex/.txt文件)。

2

选择操作并运行

选择操作:“编码文件→十六进制”或“解码十六进制→文件”,然后点击相应的按钮(编码/解码)。根据需要配置选项:格式(纯文本/0x/\xHH/%HH)、大小写、分隔符、换行+行分隔符(编码),或接受切换+分隔符处理+奇数长度规则(解码)。

3

复制或下载结果

如果您进行了编码,请从编辑器中复制生成的十六进制文本或将其作为文本输出下载。如果您进行了解码,请下载重建的二进制文件(工具会尽可能去除.hex后缀,并回退为.bin)。

技术规格

执行模型

此工具完全在您的浏览器中运行,不会将您的输入上传到服务器。

方面详情
运行时100% 客户端处理(无需服务器上传)。
操作范围在同一页面进行编码(二进制文件→十六进制文本)和解码(十六进制文本→二进制文件)。
输入编码:二进制(文件/Blob/Uint8Array/ArrayBuffer/TypedArray)。解码:文本(十六进制字符串,可包含可选标记和分隔符)。
输出编码:文本(十六进制)。解码:字节(可下载的二进制文件)。
限制约1–2MB字符;约25000毫秒超时
数据保留所有处理均在您的浏览器本地进行(无上传)
即使本地处理,也应避免处理您无法承担暴露风险的机密信息(屏幕共享、扩展程序、剪贴板历史、设备安全漏洞)。对于敏感数据或合规工作流,建议使用本地命令行处理。

迷你示例

用于说明两种操作及常见格式的小例子。

编码(二进制字节):48 65 6c 6c 6f 0a
输出(纯小写):48656c6c6f0a

解码(十六进制文本):48 65 6c 6c 6f 0a
结果(文件字节):48 65 6c 6c 6f 0a
格式化选项(大小写、分隔符、换行、行尾符)仅改变十六进制文本的表示形式。解码行为取决于所选的接受切换项、分隔符处理、严格模式及奇数长度策略。

错误与边界情况

在十六进制文本与原始字节之间转换时的典型故障,以及用户界面选项如何影响它们。

现象可能原因检查事项
编码提示上传文件您向编码操作提供了文本输入本工具编码二进制数据。对于十六进制文本输入,请切换到解码;对于编码,请上传文件或字节。
解码错误:无效十六进制/格式错误的标记输入包含非十六进制字符或您禁用的标记样式酌情启用“接受0x前缀”/“接受\xHH转义”/“接受%HH编码”;决定是否允许分隔符/空白字符。
解码因分隔符或空白字符失败存在分隔符但被禁止(或严格模式拒绝它们)启用“允许分隔符/空白字符”;如需严格解析,请保持“忽略非十六进制字符”关闭,并依赖显式的标记接受设置。
十六进制数字为奇数个十六进制流被截断或缺少半字节将“奇数十六进制数字”设置为“错误”以快速失败,或设置为“左侧补0”以接受奇数长度输入。
输出大小意外或字节不匹配忽略非十六进制字符移除了有意义的字符,或严格模式关闭导致解析为尽力而为当正确性重要时,使用“严格验证”;如果期望只有格式良好的标记,请禁用“忽略非十六进制字符”。
输出换行/新行不符合预期(编码)启用了每行字节数、行分隔符或最终换行符设置将“每行换行字节数”设为0,根据需要选择LF或CRLF,并切换“插入最终换行符”。

命令行替代方案

对于自动化、持续集成或敏感数据,建议使用本地命令行工具。以下示例是规范且普遍可用的。

Linux/macOS

将文件编码为纯十六进制(xxd)

xxd -p -c 256 input.bin > output.hex.txt

以纯十六进制格式打印文件(不含0x/\x标记)。使用-c参数控制行宽。

将纯十六进制解码回文件(xxd)

xxd -r -p output.hex.txt > restored.bin

将纯十六进制反向转换为原始字节。如果十六进制文本包含分隔符或前缀,请先进行规范化处理。

Node.js

将文件编码为十六进制(Node Buffer)

node -e "const fs=require('fs');const b=fs.readFileSync('input.bin');process.stdout.write(b.toString('hex'))" > output.hex.txt

输出连续的小写十六进制。如需分隔符或换行,请自行添加格式。

将纯十六进制文本解码为文件(Node Buffer)

node -e "const fs=require('fs');const hex=fs.readFileSync('output.hex.txt','utf8').trim();fs.writeFileSync('restored.bin',Buffer.from(hex,'hex'));"

仅解析纯十六进制。解码前请移除0x/\x/%标记和分隔符。

使用场景

调试二进制负载

  • 将小型二进制文件转换为可读的十六进制,用于错误报告和审查
  • 通过将两个二进制输出转换为规范化的十六进制表示进行比较

跨工具互操作性

  • 生成带0x前缀或分隔符的十六进制,以匹配下游工具的预期格式
  • 解码包含C风格\xHH标记或百分比风格%HH字节的十六进制转储

CI固定数据和测试向量

  • 将小型二进制固定数据存储为十六进制文本,便于代码审查时进行差异比较
  • 当测试输入格式错误时,使用严格验证实现快速失败

字节与表示法教学

  • 展示相同字节如何表示为纯十六进制、0x前缀标记或\xHH转义序列
  • 演示为何分隔符和奇数长度处理是明确的解析选择

❓ Frequently Asked Questions

是否有公开API?

没有。本工具专为交互式浏览器使用设计,不提供公开API

处理过程是本地还是远程?

100%客户端处理(无需服务器上传)。所有编码和解码均在您浏览器的本地环境中运行。

能否用于处理机密信息(API密钥、凭证、专有文件)?

建议不要使用。尽管处理过程在本地进行,但机密信息仍可能通过屏幕共享、浏览器扩展、剪贴板历史记录或设备漏洞泄露。对于敏感数据,建议优先使用本地命令行工具。

为何解码会失败并提示“无效十六进制”或“输入格式错误”?

大多数失败源于非十六进制字符、未启用标记接受(0x、\xHH、%HH)、分隔符/空格处理问题或十六进制位数为奇数。请启用对应的“接受”开关,决定是否允许分隔符,选择奇数长度处理策略,并在需要快速失败解析时使用“严格验证”。

Pro Tips

Best Practice

为进行稳定比较,请使用固定格式(纯文本)、固定大小写且无分隔符进行编码;然后仅出于可读性考虑添加分隔符或换行。

Best Practice

解码代码或日志中的转储时,启用预期的令牌接受选项(0x、\xHH、%HH)并允许分隔符/空白字符,以避免手动清理。

Best Practice

当正确性比尽力恢复更重要时,请使用“严格验证”(并考虑禁用“忽略非十六进制字符”)。

Best Practice

将输入控制在约1–2MB以下,并对大文件或CI流水线使用本地CLI工具,以避免浏览器限制或超时。

Additional Resources

Other Tools