使用方法
文本转ASCII转换器把字符变成数字码点,只要四步:
- 在「输入文本」框粘贴或输入要转换的内容,如 Hi!。中文、emoji、符号都能转,不限于英文。
- 选「输出进制」:十进制(72 105 33)或十六进制(48 69 21)。
- 点「转换」,或在文本框按 Ctrl/Cmd + Enter。结果进下方文本框,字符之间用空格分开。
- 点「复制结果」整段拿走;想还原示例按「载入示例」。
文本转ASCII转换器能解决什么
它把「这个字到底是什么码」变成一行可读数字,适合三类场景:
- 调试与对齐:写解析器、协议或硬件串口时,要确认某个字符到底发的是 72 还是别的,直接粘进来转十进制就看清。
- 学习编码:理解 ASCII 表(A=65、a=97、空格=32)和「中文超出 ASCII、落在 Unicode 码点」的差别,直观看到「你=20320」。
- 控制字符排查:文本里混了换行(10)、制表(9)等不可见字符时,码点会暴露出来,方便清掉或转义。
本页不做的事:不做 Base64、URL、十六进制字符串互转(那是别的工具);不做字符本身的编码字节(UTF-8 多字节)输出,只给码点;不把码点再拼回二进制。需要字节级请用对应编码工具。
原理和变量
① 用了哪个具体函数:核心是 String.prototype.codePointAt(0) 取每个字符的 Unicode 码点,再用 toString(10) 或 toString(16) 转成十进制或十六进制字符串。用 codePointAt 而非 charCodeAt,是为了正确表示辅助平面字符(如部分 emoji)。
② 关键参数为什么这样取:区分十进制与十六进制,是因为程序员看内存/协议常看十六进制(48 比 72 更贴近字节直觉),而普通人读 ASCII 表习惯十进制。两种都基于同一个码点,只是显示进制不同。
③ 遵循哪个标准:码点来自 Unicode 标准;ASCII 是 Unicode 的前 128 个码点(0~127),与 US-ASCII 一致。十六进制用 0-9、A-F,不带 0x 前缀(输出更紧凑,需要前缀可自行加)。
④ 输入怎么变成输出:H 的码点 72 → 十进制「72」、十六进制「48」;i 是 105 / 69;! 是 33 / 21。所以「Hi!」十进制输出 72 105 33,十六进制 48 69 21。中文「你」码点 20320,十进制 20320、十六进制 4F60。
⑤ 边界与阈值:空输入输出空,不报错;换行、制表等控制字符(码点 0~31)正常出数字并标注。码点范围理论到 0x10FFFF,超出会提示无法表示;本页逐字符处理,超长文本也按序转换。
⑥ 常见误用的正确解释:把「中文转 ASCII」理解为能压成 0~127 是错的——中文根本不在 ASCII 表里,本页给的是它的 Unicode 码点(如 20320),不是 ASCII;十六进制 4F60 别漏看字母;charCodeAt 遇辅助平面会拆两半,本页用 codePointAt 避免。
完整示例(数值仅作演示)
保持演示输入 Hi!,十进制输出 72 105 33,十六进制 48 69 21。
- H → 十进制 72 / 十六进制 48。
- i → 十进制 105 / 十六进制 69。
- ! → 十进制 33 / 十六进制 21。
- 若输入「你」:十进制 20320 / 十六进制 4F60(超出 ASCII 0~127,显示 Unicode 码点)。
- 若输入「A B」(含空格):十进制 65 32 66 / 十六进制 41 20 42,空格码点 32 也在其中。
这五组与页面默认文本框、下方对照表第 8 行(H=72)一致,可三处核对。
输入范围与对照表
文本转ASCII转换器的对照表列出常见字符的十进制与十六进制码点,帮你快速对照:
| 字符 | 十进制 | 十六进制 | 类型 |
|---|---|---|---|
| A | 65 | 41 | 大写字母 |
| B | 66 | 42 | 大写字母 |
| C | 67 | 43 | 大写字母 |
| D | 68 | 44 | 大写字母 |
| E | 69 | 45 | 大写字母 |
| F | 70 | 46 | 大写字母 |
| G | 71 | 47 | 大写字母 |
| H(演示) | 72 | 48 | 大写字母(Hi! 首字符) |
| a | 97 | 61 | 小写字母 |
| b | 98 | 62 | 小写字母 |
| 0 | 48 | 30 | 数字 |
| 1 | 49 | 31 | 数字 |
| 空格 | 32 | 20 | 控制/空白字符 |
| ! | 33 | 21 | 标点(Hi! 末字符) |
| @ | 64 | 40 | 标点 |
| 换行 | 10 | 0A | 控制字符 |
对照表能看出「A=65、a=97,差 32」「空格=32、换行=10 都是控制/空白」:大写字母比小写字母码点小 32,这是 ASCII 的经典布局。
结果边界和舍入
输出性质:结果是码点数字串,十进制为 0-9,十六进制为 0-9 与 A-F,字符间以空格分隔。需要 0x 前缀或逗号分隔可导出后自行替换。
什么时候会提示:输入为空时输出空,不报错;遇到无法用单个码点表示的极端组合(极少)会提示。控制字符(0~31)照常出数字,不会因不可见而丢字符。
中文与 emoji:中文、emoji 超出 ASCII 0~127,本页给其 Unicode 码点(如「你」20320 / 4F60)。辅助平面 emoji 用 codePointAt 取单个码点,不会被拆成两半。
结果用途:这是码点对照,不是字节流(UTF-8 下中文占多字节,本页不展开字节)。要字节级编码请用对应编码转换工具。
常见问题
中文也能转吗?
能,但中文不在 ASCII 表里。本页给的是它的 Unicode 码点,例如「你」是十进制 20320、十六进制 4F60,而不是 0~127 的 ASCII 值。
十进制和十六进制怎么选?
看用途。读 ASCII 表、做教学用十进制(72);看内存、协议、字节用十六进制(48)更贴近直觉。两者基于同一码点,仅显示进制不同。
换行和空格怎么显示?
空格码点 32(十六进制 20)、换行码点 10(十六进制 0A),都是控制/空白字符,照常出数字,方便你排查文本里混进的不可见字符。
为什么不用 charCodeAt?
charCodeAt 遇到辅助平面字符(部分 emoji)会拆成两个代理码元,得到错误值。本页用 codePointAt 取完整码点,结果更准确。
结果能反推回文字吗?
本页只做「文本→码点」单向。要码点转回文字请用对应的「ASCII/码点转文本」工具,把数字按空格拆开再还原。
十六进制字母大小写?
本页统一输出大写 A-F(如 4F60)。需要小写可自行小写化,数值不变。
超长文本会卡吗?
逐字符处理,一般几千字无压力。极长文本建议分段粘贴;结果按输入顺序一一对应,不会错位。
我的输入会被保存或上传吗?
不会。全部在浏览器内转换,刷新即清空;转换时不发任何网络请求。
相关工具
- 文本转十六进制转换器:把文本按 UTF-8 字节转十六进制串。
- 十六进制转文本转换器:码点/十六进制反向还原文字。
- Vigenre密码工具:另一种字符级编码玩法。
- 数字进制转换器:十进制十六进制等进制互转。
- Base32解码:字节级编码的另一种形态。
- ASCII表格生成器:批量生成 ASCII 码表。
- 摩斯电码代码转文本转换器:字符到摩斯码的另一种映射。