串口调试查乱码
嵌入式工程师调试新采购的温湿度传感器,串口助手收到一串十六进制数据 `48 65 6C 6C 6F`,怀疑是 ASCII 编码。手边没有现成的对照表,用本工具将十六进制逐字节转成十进制,再对照 0-127 标准表确认 `0x48` 对应大写 'H'、`0x65` 对应小写 'e'。三分钟定位到传感器发送的正是 'Hello' 字符串,排除了协议解析错误。
开发者工具 · HTTP / 网络速查
0-127/0-255 完整对照
敲下 `printf("%c", 65)` 却忘了 65 对应的是 'A' 还是 'a'——查表最怕翻半天还找不全。这个工具把 0–127 的 ASCII 标准集和 0–255 的扩展集摊在一张表里,十进制、十六进制、二进制、字符四列对齐,鼠标悬停即高亮。数据全在浏览器本地,无网络请求,也无需安装任何软件。
嵌入式工程师调试新采购的温湿度传感器,串口助手收到一串十六进制数据 `48 65 6C 6C 6F`,怀疑是 ASCII 编码。手边没有现成的对照表,用本工具将十六进制逐字节转成十进制,再对照 0-127 标准表确认 `0x48` 对应大写 'H'、`0x65` 对应小写 'e'。三分钟定位到传感器发送的正是 'Hello' 字符串,排除了协议解析错误。
产品经理在写智能门锁的蓝牙协议文档,需要规定密码字段只允许 ASCII 可打印字符(0x20-0x7E)。用本工具查看 0x20(空格)到 0x7E(波浪号 `~`)之间的全部 95 个字符,发现 0x7F(DEL)不在范围内。最终在文档中明确写死「允许字符范围:十进制 32-126」,避免后续开发用 `isprint()` 函数误判 DEL 为有效字符。
银行核心系统从 EBCDIC 迁移至 ASCII,历史交易报文中的特殊控制字符(如 0x01 SOH、0x03 ETX)需要逐字节映射。用本工具对照 0-127 标准表,确认 EBCDIC 的 0x01 在 ASCII 中同样为 SOH,但 EBCDIC 的 0x0C(换页)在 ASCII 中为 0x0C(也是换页)。迁移前用本工具逐一比对 128 个控制字符和图形字符,确保无映射错位。
安全工程师分析恶意软件 C2 通信的 PCAP 包,发现 TCP 载荷中出现大量 `0x01 0x02 0x03` 等非打印字符。使用本工具查表确认这些是 ASCII 控制字符 SOH、STX、ETX,通常用于帧头帧尾标记。结合抓包时间戳,判断攻击者是在利用这些控制符做自定义协议的分隔符,而非随机填充。
标签打印机打印中文时出现乱码,怀疑是 ESC/POS 指令中的 ASCII 控制字符被误传。用本工具查看 0x0A(LF)、0x0D(CR)等常见打印控制符的十六进制值,对比打印机手册发现:发送的 `0x0A 0x0D` 顺序与打印机要求的 `0x0D 0x0A` 相反,导致换行逻辑错乱。修正发送顺序后打印恢复正常。
| 输入 | 输出 | 说明 |
|---|---|---|
| 65(十进制 → 字符) | A | 常规:大写字母 A 的 ASCII 码,验证基本对照 |
| 97(十进制 → 字符) | a | 常规:小写字母 a 的 ASCII 码,与 65 区分大小写 |
| 0(十进制 → 字符) | NUL(空字符) | 边界:0 号控制字符,不可打印但存在,验证工具是否显示控制字符名称 |
| 127(十进制 → 字符) | DEL(删除) | 边界:0-127 范围的最后一个值,控制字符,验证工具是否覆盖完整 |
| 128(十进制 → 字符) | €(欧元符号) | 边界:0-255 扩展 ASCII 的起点,验证工具是否支持扩展集 |
| 255(十进制 → 字符) | ÿ(带分音符的 y) | 边界:0-255 范围的最后一个值,验证扩展集完整性 |
| 256(十进制 → 字符) | 超出范围(0-255) | 易错:输入大于 255 的值,验证工具是否给出明确错误提示 |
| 13(十进制 → 字符) | CR(回车) | 易错:常见控制字符,用户可能误以为会输出可见符号,验证工具对控制字符的处理 |
1.十进制与十六进制混淆,查表找错码位
看到字符 'A' 的 ASCII 是 65,想查 'A' 的十六进制时输入 65 到十六进制列直接查表:十进制 65 对应十六进制 0x41;或输入 0x41 到十六进制列ASCII 表同一行给出十进制、十六进制、二进制等不同进制值,用户常把十进制值误当作十六进制去查,导致码位错位。
2.控制字符的显示符号误解
认为 ASCII 10(LF)在终端里显示为 'LF' 或 '\n' 字样ASCII 10 是换行控制字符,不产生可见符号,只触发光标下移一行控制字符(0-31、127)没有图形表示,终端用 ^J 或转义序列表示,但查表时看到 'LF' 是缩写,不是输出内容。
3.扩展 ASCII 码的编码差异
认为 128-255 在所有系统上显示相同的字符(如 169 显示 ©)查表时注意标注的字符集(如 CP437、Windows-1252),不同编码下同一码位可能映射不同符号0-127 是标准 ASCII,128-255 是扩展部分,各家厂商(IBM、微软)定义不同,同一码位在不同编码中符号不同。
4.十进制输入带前导零
想查 ASCII 65('A'),输入 '065'输入 '65' 或 '0x41'(十六进制)前导零在十进制中无意义,但工具若按字符串解析可能误判为八进制(如 065 八进制=53 十进制),导致查错码位。
5.误把 Unicode 码点当成 ASCII
想查汉字 '中' 的 ASCII,输入 20013ASCII 只覆盖 0-127,汉字是 Unicode 字符,应查 Unicode 表ASCII 表仅包含英文字母、数字、标点及控制字符,任何超出 127 的码位都不属于 ASCII 范畴。
6.大小写字母的码位混淆
认为 'a' 和 'A' 的 ASCII 值相同'A'=65,'a'=97,差 32ASCII 中大写字母(65-90)与小写字母(97-122)有固定 32 的偏移,查表时需区分大小写。
7.回车与换行的作用混淆
认为 ASCII 13(CR)和 10(LF)都表示换行CR 是回车(光标回到行首),LF 是换行(光标下移一行),Windows 用 CR+LF,Unix 只用 LF两者在终端行为不同,混用会导致文本显示异常(如覆盖上一行)。
dec = b₇×2⁷ + b₆×2⁶ + b₅×2⁵ + b₄×2⁴ + b₃×2³ + b₂×2² + b₁×2¹ + b₀×2⁰
dec十进制数值,0–255b₇…b₀二进制位,从高位到低位二进制 01000001(大写字母 A):dec = 0×128 + 1×64 + 0×32 + 0×16 + 0×8 + 0×4 + 0×2 + 1×1 = 64 + 1 = 65,对应 ASCII 表十进制 65。
本工具默认显示 0-127(标准 ASCII 表,即基本 Latin 字符集),但页面提供了切换开关,可以展开到 0-255(扩展 ASCII 表)。0-127 对应控制字符、数字、字母、标点等;128-255 是扩展部分,内容取决于系统编码(如 CP437、ISO-8859-1),本工具使用 Unicode 映射显示常见符号。如果只查英文字母和数字,看 0-127 就够。
直接在表格上方的搜索框输入字符(如 'A' 或 '#')或数值(如 65 或 0x41),表格会自动高亮匹配行。搜索结果同时显示十进制、十六进制、二进制、HTML 实体和字符本身。如果输入的是字符,工具会同时匹配其十进制和十六进制值;输入数值则按十进制匹配。不需要手动翻页查找。
方框或问号通常表示当前浏览器或系统字体缺少该码位对应的字形。扩展 ASCII(128-255)中的字符在不同操作系统、不同字体下表现不一致。本工具使用通用 Unicode 字体渲染,但如果浏览器回退到系统字体,部分特殊符号(如制表符、外语字母变体)可能无法显示。可以尝试在浏览器设置中启用标准字体或更换为支持全 Unicode 的字体(如 Noto Sans)。
控制字符的缩写来自 ASCII 标准名称,例如 NUL(Null,空)、LF(Line Feed,换行)、CR(Carriage Return,回车)、TAB(水平制表符)。这些字符不可打印,但在文本协议、串口通信、早期终端中起控制作用。本表在每一行同时显示缩写和中文描述(如 'SOH' 对应 '标题开始'),方便对照协议文档或调试网络报文时使用。
本工具使用的字符映射表直接取自 Unicode 联盟的官方 UCD(Unicode Character Database)以及 ANSI X3.4-1986(即 ASCII 标准)的公开规范。0-127 部分完全遵循标准定义,128-255 部分参考 ISO-8859-1 和 Windows-1252 的通用映射。所有码位、十六进制、二进制值均可与 RFC 20 或 IANA 字符集注册表交叉验证,无需担心数据错误。
二进制列显示的是该字符的 7 位(0-127)或 8 位(0-255)二进制表示,高位在前。例如十进制 65(字符 'A')显示为 1000001(7 位),十进制 200 显示为 11001000(8 位)。表格同时提供十进制和十六进制,方便对比不同进制下的数值。如果编程中需要拼接二进制字节流或处理位掩码,可以直接复制该列的值。
本工具完全在浏览器本地运行(FE 实现),不向服务器发送任何数据。刷新页面会重置搜索框和表格高亮状态,回到默认的 0-127 视图。如果需要保留某次查询结果,建议直接截图或复制表格数据。因为不涉及后端存储,所以也不存在历史记录或隐私泄露问题。
Windows 字符映射表(charmap.exe)按字体列出所有可用字符,侧重图形选取和复制;本工具按码位顺序列出 ASCII 和扩展 ASCII 的完整对照表,侧重数值查询和进制转换。charmap 适合挑特殊符号插入文档,本工具适合程序员查码位值、调试协议、学习 ASCII 编码。两者定位不同,可以互补使用。
隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。