编码加密 · Unicode / Hex

ASCII 编解码

字符/数字/Hex 互转

本地处理 · 不上传 免费 · 无需登录 无次数限制 累计 65 次使用
字符 ↔ ASCII 码 · 十进制 / Hex / 二进制 / 八进制 · 全本地
进制 分隔
文本 plain text
0 字符
ASCII 码 decimal
0 码值

编辑「文本」→ 实时生成 ASCII 码;编辑「码」→ 实时还原 字符
逐字符对照char by char
chardechexbinaryoctal
在上方「文本」框输入内容,这里逐字符列出 十进制 / Hex / 二进制 / 八进制。
ASCII 速查表0 – 127 · 点击插入
示例:点 A → 65 · Hello → 72 101 … · 码 72 105 → Hi
就绪 · 输入文本或 ASCII 码即时互转
第一节

关于本工具

About

调试串口协议时,最怕对着ASCII表一个个查字符对应的十六进制。这个工具把字符、十进制、十六进制三栏并排显示,输入任一项自动算出其余两项。支持单个字符和短字符串,比如查大写'A'的0x41或空格的0x20。所有转换在浏览器内完成,字符不离开本机。

使用场景

串口调试看16进制

嵌入式工程师调试传感器时,串口助手返回一串ASCII字符,但协议文档要求比对Hex报文。手动查表太慢,用本工具把收到的字符转成Hex,一秒确认起始字节0xAA是否正确,省去翻手册的功夫。

URL编码参数排查

前端调用后端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字符,拼成字符串后通过串口发送,避免手算进制错误导致设备死机。

第二节

使用指南

Getting Started

使用步骤

  1. 1在输入框粘贴或键入字符(如 'Hello'),下方实时显示对应的十进制数字序列,每字符一行
  2. 2点击「转 Hex」按钮,数字序列切换为十六进制表示(如 48 65 6C 6C 6F),颜色区分每字节
  3. 3在 Hex 输入区粘贴十六进制串(如 48 65 6C),点击「转字符」按钮,上方同步恢复原始字符
  4. 4点击结果区任意一行数字或 Hex,自动复制该值到剪贴板,按钮反馈「已复制」

输入输出示例

输入输出说明
Hello72 101 108 108 111常规:常见英文单词转十进制,验证基本字符到数字的映射
72 101 108 108 111Hello常规:十进制序列反向转回字符,验证双向转换一致性
A65常规:大写字母边界值,验证 ASCII 表起始字母的转换
~126边界:ASCII 可打印字符最大值,验证最高位可打印字符的处理
32边界:空格字符的十进制值,验证空白字符的编码
72 101 108 108 111!Hello易错:输入含非数字字符(感叹号),工具会忽略或报错,需注意输入格式的纯净
0x48 0x65 0x6C 0x6C 0x6FHello易错: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),没有可视图形。部分工具会直接显示空白或方块,而非字符名称,容易让用户误以为转换失败。

第三节

工作原理

How It Works

核心公式

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。

输入字符 / 数字 / Hex识别输入类型(字符 / 十进制 / Hex)查 Unicode 码表(浏览器内置)输出输入 ASCII 字符逐字符拆分(charCodeAt)转十进制 / Hex(toString(16))输出
用户输入 本地处理 输出结果
第五节

常见问题

Q & A
我输入字母“A”,它转出来是“65”,这是怎么算的?

这是 ASCII 标准编码。每个字符在 ASCII 表里有一个唯一的十进制编号,大写 A 是 65,B 是 66,小写 a 是 97。工具直接查表转换,不是随机生成的。输入单个字符或整段文字,工具会把每个字符逐个转成对应的十进制数字。

支持中文汉字转 ASCII 吗?我试了“中”没反应。

ASCII 只定义了 0-127 号字符,只包含英文字母、数字、标点和控制符,不包含汉字。输入汉字时,工具要么忽略它,要么显示“?”或乱码。如果需要将汉字转成数字,应使用 UTF-8 或 Unicode 编码工具,而不是 ASCII 编解码。

转出来的 Hex 是“41”,为什么不是“0x41”?

本工具默认输出纯十六进制数字,不带“0x”前缀,方便直接拼接或写入代码。“0x”是编程语言里标识十六进制数的写法,如果你需要带前缀的格式,可以手动在结果前加“0x”。同理,十进制输出也不带后缀。

我输了一串数字“72 101 108”,它转回字母不对,为什么?

请检查数字之间的分隔符。工具默认按空格分隔数字,如果你用逗号、换行或没加空格,工具可能把“72 101 108”当成一个数字处理,导致转换错误。正确输入格式:每个十进制数之间用空格隔开,例如“72 101 108”。

这个工具能批量转换几百个字符吗?会不会卡死?

可以。因为工具是在浏览器本地运行的(FE 实现),不经过服务器,所以没有上传大小限制。处理几百个字符瞬间完成,几千个字符也能流畅运行。如果页面卡顿,通常是浏览器标签页内存占用过高,刷新页面即可恢复。

我关掉网页再打开,刚才的转换记录还在吗?

不保留。本工具没有存储功能,所有转换结果只在当前页面会话中显示。关闭或刷新页面后,输入框和结果区都会清空。如果需要保存转换结果,建议在关闭前手动复制粘贴到记事本或文档中。

转出来的数字为什么是 3 位甚至 2 位?比如空格是“32”。

ASCII 编码中每个字符的十进制编号范围是 0-127,所以最多 3 位数字。空格对应的十进制是 32(2 位),回车是 13(2 位),退格是 8(1 位)。输出不会补零,保持原始数值。

我可以用这个工具把“Hello”转成“48 65 6C 6C 6F”吗?

“48 65 6C 6C 6F”是十六进制表示,不是十进制。本工具支持将字符转成十六进制(Hex)输出,在模式中选择“字符→Hex”即可。输入“Hello”,工具会输出“48 65 6C 6C 6F”。反过来,输入十六进制数时也要确保数字之间用空格分隔。

隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。

选择 打开 +新窗口 esc关闭