0x、\x、花括号都会自动忽略
写程序的时候常常要从别处搬一段字节:串口日志里的 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 进制固定排一行,方便直接贴进命令或正则。
输出的是 \xE5\x9C\xA8 这种转义串,可以直接放进 grep 的模式里:grep -boaP '\xE5\x9C\xA8' 文件名,-b 会顺带告诉你这段字节在文件里的偏移量。放进 printf、正则、脚本里的转义字符串同样适用。
单次最多 64 KB 字节(约 13 万个 16 进制字符),超出会提示。一般写常量用不到这么长;真要处理几 MB 的二进制文件,更适合用脚本读文件而不是贴进网页。
不会。整个转换在你的浏览器里完成,页面不发送任何请求,关掉标签页内容就消失了。
这个工具完全在你的浏览器里运行:你输入的内容、上传的文件,都不会离开你的电脑,也不会传到任何服务器。
放心用,数据只在你自己的电脑上转一圈。
用手机相机扫描二维码,即可继续使用该工具
遇到问题或有好建议?告诉我们。