在线16进制字符串转bytes

16 进制转 bytes C / C# / Pascal grep 可用 更新于 2026-11-04
16 进制字符串 空格、逗号、0x、\x、花括号都会自动忽略
可以直接粘贴,也可以点右上角「导入」或把文本文件拖进来 0 字符
输出格式
    转换结果 结果只读,复制或导出都行
    字节顺序与输入完全一致,一个字节都没多也没少 0 字符

    工具介绍

    写程序的时候常常要从别处搬一段字节:串口日志里的 E5 9C A8、抓包看到的报文、哈希值、别人贴的一串 16 进制。要把它变成代码里能直接用的 byte[],手动一个个加 0x、加逗号、数长度,几十个字节就要人命,还容易漏一个、数错个数。

    本工具把一串 16 进制直接生成目标语言能编译通过的常量:C / C++、C#、Java、Python、JavaScript、Go、Rust、Pascal,外加 grep 用的转义串和几种纯 16 进制写法。粘贴时不用先整理格式,空格、逗号、冒号、0x / \x 前缀、$、花括号、引号都会被忽略,直接从 C 数组里整段复制过来也能识别。

    什么时候用得上

    场景要解决的事建议格式
    嵌入式写常量串口 / 逻辑分析仪抓到的字节,要写进固件当固定指令C / C++
    搜二进制文件在数据库、日志、可执行文件里定位一段字节grep / 正则转义
    改包与协议调试报文 hex 要变成代码里的固定数组,反复重放C# / Go
    单元测试造数据固定输入、签名、密钥,要写成字节字面量Python / JavaScript
    跨语言搬代码老项目里的字节常量要迁到新语言Java / Rust / Pascal
    核对长度先确认这串 hex 是 16 字节还是 32 字节纯 16 进制

    常见问题

    为什么位数不对直接不给转?

    一个字节固定占两位 16 进制,所以位数必须是偶数。总数是奇数说明中间少了一位(复制时被截断、或者漏了个 0),这时生成的数组会从错误的位置开始错位,与其给一份看着正常其实全错的代码,不如直接提示。带分隔符时可以用一位写法,比如 0x1, 0x2, 0x3 会老老实实变成 1、2、3 三个字节。

    能识别哪些写法?

    e59ca8、E5 9C A8、E5:9C:A8、E5-9C-A8、0xE5, 0x9C、\xE5\x9C、$E5, $9C,以及整段的 { 0xE5, 0x9C }。带 0x / \x 前缀的整段代码也能直接粘,工具只取字节,其余文字忽略。

    大小写和换行是怎么定的?

    16 进制统一输出大写(0xE5 而不是 0xe5),和多数代码规范一致。数组类格式每行排 16 个字节、缩进 4 格;总长不超过 16 字节时排成一行。grep 转义串和紧凑 16 进制固定排一行,方便直接贴进命令或正则。

    grep 那项怎么用?

    输出的是 \xE5\x9C\xA8 这种转义串,可以直接放进 grep 的模式里:grep -boaP '\xE5\x9C\xA8' 文件名,-b 会顺带告诉你这段字节在文件里的偏移量。放进 printf、正则、脚本里的转义字符串同样适用。

    长度有上限吗?

    单次最多 64 KB 字节(约 13 万个 16 进制字符),超出会提示。一般写常量用不到这么长;真要处理几 MB 的二进制文件,更适合用脚本读文件而不是贴进网页。

    数据会上传到服务器吗?

    不会。整个转换在你的浏览器里完成,页面不发送任何请求,关掉标签页内容就消失了。

    关于隐私

    这个工具完全在你的浏览器里运行:你输入的内容、上传的文件,都不会离开你的电脑,也不会传到任何服务器。

    • 不上传——处理全程在本地完成,页面不向后端发送你的数据;
    • 不留存——我们不保存、不记录你的任何输入内容;
    • 断网也能用——页面加载完成后,断开网络照样正常使用。

    放心用,数据只在你自己的电脑上转一圈。

    更新日志

    2026-10-21
    功能体验升级与性能优化
    2023-06-12
    工具正式上线发布

    相关工具推荐