串口调试看16进制
嵌入式工程师调试传感器时,串口助手返回一串ASCII字符,但协议文档要求比对Hex报文。手动查表太慢,用本工具把收到的字符转成Hex,一秒确认起始字节0xAA是否正确,省去翻手册的功夫。
编码加密 · Unicode / Hex
字符/数字/Hex 互转
| char | dec | hex | binary | octal |
|---|
调试串口协议时,最怕对着ASCII表一个个查字符对应的十六进制。这个工具把字符、十进制、十六进制三栏并排显示,输入任一项自动算出其余两项。支持单个字符和短字符串,比如查大写'A'的0x41或空格的0x20。所有转换在浏览器内完成,字符不离开本机。
嵌入式工程师调试传感器时,串口助手返回一串ASCII字符,但协议文档要求比对Hex报文。手动查表太慢,用本工具把收到的字符转成Hex,一秒确认起始字节0xAA是否正确,省去翻手册的功夫。
前端调用后端API,接口返回400错误。怀疑是参数里带了特殊字符(如空格、中文)没编码。把报错URL的查询字符串粘贴进来,转成Hex看哪些字节超出了ASCII可打印范围,定位到未转义的%20或%AD,修复后接口正常。
运维查MySQL表,发现某个varchar字段显示为乱码,像是GBK被当成UTF-8存储。复制乱码字符串到工具,转成Hex序列,再按原始编码(GBK)反向解释Hex,还原出正确的中文内容,避免全表导出重导。
硬件测试员用逻辑分析仪抓USB HID报文,得到一串Hex数据,需要找出哪个按键被按下。把Hex输入工具转为ASCII,对照USB HID Usage Table,发现0x04对应键盘A键,确认按键映射表配置正确。
物联网设备升级固件,需手动拼装OTA指令包:帧头0x55、长度0x0A、命令0x01、校验0xXX。用本工具把每个字段的Hex转成对应ASCII字符,拼成字符串后通过串口发送,避免手算进制错误导致设备死机。
| 输入 | 输出 | 说明 |
|---|---|---|
| Hello | 72 101 108 108 111 | 常规:常见英文单词转十进制,验证基本字符到数字的映射 |
| 72 101 108 108 111 | Hello | 常规:十进制序列反向转回字符,验证双向转换一致性 |
| A | 65 | 常规:大写字母边界值,验证 ASCII 表起始字母的转换 |
| ~ | 126 | 边界:ASCII 可打印字符最大值,验证最高位可打印字符的处理 |
| 32 | 边界:空格字符的十进制值,验证空白字符的编码 | |
| 72 101 108 108 111! | Hello | 易错:输入含非数字字符(感叹号),工具会忽略或报错,需注意输入格式的纯净 |
| 0x48 0x65 0x6C 0x6C 0x6F | Hello | 易错:Hex 输入带 '0x' 前缀,工具是否支持需明确,否则可能解析失败 |
1.混淆十进制与十六进制输入
想转字母 'A',输入 '65' 但选了 Hex 模式输入 '65' 时选择 Decimal 模式,或输入 '41' 选 Hex 模式ASCII 中 'A' 的十进制是 65,十六进制是 41。选错进制模式会导致输出完全不同的字符,如 0x65 对应的是 'e'。
2.Hex 输入缺少 '0x' 前缀但工具要求带前缀
输入 '41 42 43' 想得到 'ABC'输入 '0x41 0x42 0x43' 或 '41 42 43'(视工具要求而定)部分工具严格按 C 语言风格要求 0x 前缀,缺少时会将 '41' 当作十进制数字 41 处理,输出 ')' 而非 'A'。
3.Hex 输入包含非法字符(非 0-9 A-F)
输入 '4G 5H' 期望得到对应字符输入 '47 48' 或 '0x47 0x48'十六进制只允许 0-9 和 A-F(大小写均可),G/H 等字符会被工具忽略或报错,导致结果不完整。
4.将多字节字符当作 ASCII 输入
输入 '中文' 想得到 ASCII 码输入 'A' 或 'a' 等单字节字符ASCII 标准只定义 0-127 共 128 个字符,对应英文字母、数字和符号。中文字符属于 Unicode 范畴,超出 ASCII 范围,工具无法正确处理。
5.数字与字符模式混淆:输入 '123' 但想得到字符 '123'
输入 '123' 期望输出 '123' 的 ASCII 码输入 '{''1'',''2'',''3''}' 或逐个字符输入数字 '123' 作为整体是一个数值,其 ASCII 码是 123 对应的字符 '{'。若想转字符串 '123',需将每个字符 '1'(49)、'2'(50)、'3'(51)分别处理。
6.分隔符使用不一致导致解析错误
输入 '65 66 67' 但工具要求逗号分隔输入 '65,66,67' 或 '65 66 67'(按工具要求)不同工具对多值输入的分隔符要求不同(空格、逗号、分号等)。使用错误分隔符会导致工具将 '65 66' 当作一个整体解析,输出错误字符。
7.大小写混淆导致 Hex 输出不一致
输入 'A' 得到 '41',但期望大写 '41' 却得到小写 '41'确认工具输出格式后,若需大写可在结果中手动转换ASCII 编解码工具通常输出小写十六进制,但部分场景(如颜色代码、内存地址)要求大写。这属于输出格式偏好,非功能错误,但易被误认为工具 bug。
8.控制字符(0-31)被当作不可见字符忽略
输入 '0x00 0x01' 期望看到 'NUL SOH' 但输出为空确认工具是否支持显示控制字符名称(如 NUL、SOH),否则结果区域可能显示空白ASCII 0-31 是控制字符(如 NUL、SOH、STX),没有可视图形。部分工具会直接显示空白或方块,而非字符名称,容易让用户误以为转换失败。
char_code = ord(char) ; hex_str = hex(char_code)[2:]
char单个 Unicode 字符char_code字符对应的十进制码点hex_str十进制码点转十六进制字符串字符 'A':ord('A') = 65 → hex(65) = '0x41' → 取 [2:] 得 '41'。输出:十进制 65,十六进制 41。
这是 ASCII 标准编码。每个字符在 ASCII 表里有一个唯一的十进制编号,大写 A 是 65,B 是 66,小写 a 是 97。工具直接查表转换,不是随机生成的。输入单个字符或整段文字,工具会把每个字符逐个转成对应的十进制数字。
ASCII 只定义了 0-127 号字符,只包含英文字母、数字、标点和控制符,不包含汉字。输入汉字时,工具要么忽略它,要么显示“?”或乱码。如果需要将汉字转成数字,应使用 UTF-8 或 Unicode 编码工具,而不是 ASCII 编解码。
本工具默认输出纯十六进制数字,不带“0x”前缀,方便直接拼接或写入代码。“0x”是编程语言里标识十六进制数的写法,如果你需要带前缀的格式,可以手动在结果前加“0x”。同理,十进制输出也不带后缀。
请检查数字之间的分隔符。工具默认按空格分隔数字,如果你用逗号、换行或没加空格,工具可能把“72 101 108”当成一个数字处理,导致转换错误。正确输入格式:每个十进制数之间用空格隔开,例如“72 101 108”。
可以。因为工具是在浏览器本地运行的(FE 实现),不经过服务器,所以没有上传大小限制。处理几百个字符瞬间完成,几千个字符也能流畅运行。如果页面卡顿,通常是浏览器标签页内存占用过高,刷新页面即可恢复。
不保留。本工具没有存储功能,所有转换结果只在当前页面会话中显示。关闭或刷新页面后,输入框和结果区都会清空。如果需要保存转换结果,建议在关闭前手动复制粘贴到记事本或文档中。
ASCII 编码中每个字符的十进制编号范围是 0-127,所以最多 3 位数字。空格对应的十进制是 32(2 位),回车是 13(2 位),退格是 8(1 位)。输出不会补零,保持原始数值。
“48 65 6C 6C 6F”是十六进制表示,不是十进制。本工具支持将字符转成十六进制(Hex)输出,在模式中选择“字符→Hex”即可。输入“Hello”,工具会输出“48 65 6C 6C 6F”。反过来,输入十六进制数时也要确保数字之间用空格分隔。
隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。