通过MCP连接 →

输入计算

数学公式

广告

结果

二进制(8 位 ASCII)
01001000 01101001
16 bits • 2 characters
十进制(ASCII 码) 72 105
十六进制 48 69

什么是文本转二进制 / ASCII 转换器?

这个工具能把你输入的任意文字转换成对应的二进制表示。计算机是通过字符编码把文本以数字的形式存储起来的——对于基本的英文字母、数字和标点符号来说,这套编码就是 ASCII。每个字符都对应一个数字编码,本工具会把这个编码写成一段 8 位的二进制字符串(由 8 个 0 和 1 组成)。同时,转换器还会显示十进制的 ASCII 码和十六进制结果,方便你在不同进制下对照核对。

使用方法

在输入框中键入或粘贴你的文字,然后提交即可。主结果框会显示完整的二进制字符串,每个字符对应一组 8 位二进制数,组与组之间用空格隔开。下方的表格会列出对应的十进制 ASCII 码和十六进制值,并统计字符数量与总位数。需要注意的是,空格和标点符号同样算作字符——比如空格的 ASCII 码就是 32。

计算公式详解

对于每一个字符 c,我们先取出它的字符编码(也就是 JavaScript 中 charCodeAt 返回的数值),把这个整数转换为二进制(2 进制),再在左侧补 0,使其总长度达到 8 位。

$$c \rightarrow \text{pad}_8(\text{bin}(\text{charCode}(c)))$$

举个例子,字母 A 的 ASCII 码是 65,对应的二进制是 1000001,补齐后即为 01000001。总位数 = 8 × 字符数量。

$$\text{bits} = 8 \times n_{chars}$$
展示单个字符转换为十进制 ASCII 码再转为 8 位二进制字节的示意图
每个字符先映射为十进制 ASCII 码,再转为 8 位二进制字节。

实例演示

我们来转换单词 Hi。"H" 的 ASCII 码是 \(72\) → 二进制为 \(01001000\) → 十六进制为 \(48\)。"i" 的 ASCII 码是 \(105\) → 二进制为 \(01101001\) → 十六进制为 \(69\)。因此 "Hi" 转换后得到 01001000 01101001,十进制为 72 105,十六进制为 48 69,共 2 个字符、16 位。

演示单词 Hi 拆分为两个二进制字节的实例
单词“Hi”变成两个 8 位二进制字节,每个字符一个。

ASCII 字符参考表

标准 ASCII 为每个字符分配一个从 0 到 127 的数字。在此转换器中,每个字符的十进制代码被转换为 8 位二进制值(左侧用零填充以填充 8 位)和两位十六进制值。下表列出了常用的可打印字符。

字符 十进制 8 位二进制 十六进制
(空格) 32 00100000 20
! 33 00100001 21
0 48 00110000 30
1 49 00110001 31
5 53 00110101 35
9 57 00111001 39
: 58 00111010 3A
? 63 00111111 3F
@ 64 01000000 40
A 65 01000001 41
B 66 01000010 42
M 77 01001101 4D
Z 90 01011010 5A
a 97 01100001 61
b 98 01100010 62
m 109 01101101 6D
z 122 01111010 7A

例如,大写字母 A 的十进制代码为 65,二进制为 1000001,填充到 8 位后变为 01000001。作为单个字符,单词"Hi"编码为 01001000 01101001

关键术语说明

数字数据的最小单位,保存 0 或 1 的单个值(二进制数字)。
字节
8 位的组合。一个字节可以表示 256 个不同的值(\(2^8 = 256\)),这恰好足以存储一个扩展 ASCII 字符。
ASCII
美国信息交换标准代码 — 一种字符编码标准,将 128 个字符(代码 0–127)映射到数字,包括字母、数字、标点符号和控制代码。
Unicode
一种通用字符标准,远超 ASCII 的范围,涵盖几乎所有书写系统、符号和表情符号。前 128 个 Unicode 代码点与 ASCII 相同。
代码点
在字符集中分配给字符的数值。对于字母"A",代码点在 ASCII 和 Unicode 中都是 65。
二进制
以 2 为基数的数字系统,仅使用数字 0 和 1。每个位置代表 2 的幂(1、2、4、8、…)。
十进制
日常计数中使用的以 10 为基数的数字系统,数字为 0–9,位置代表 10 的幂。
十六进制
以 16 为基数的数字系统,使用数字 0–9 和字母 A–F。一个十六进制数字恰好代表 4 位,所以两个十六进制数字代表一个字节。
填充/左填充
在二进制值的前面添加前导零,使每个字符占据统一的宽度。ASCII 字节左填充到 8 位 — 例如,代码 65(二进制 1000001)变为 01000001。

二进制、十进制和十六进制转换表

下表显示相同的值如何以十进制(10 进制)、二进制(2 进制)和十六进制(16 进制)显示。注意 2 的每个幂如何增加一个二进制数字,以及每 4 个二进制位如何完美地映射到单个十六进制数字。

十进制 二进制(8 位) 十六进制
0 00000000 00
1 00000001 01
2 00000010 02
3 00000011 03
4 00000100 04
5 00000101 05
6 00000110 06
7 00000111 07
8 00001000 08
9 00001001 09
10 00001010 0A
11 00001011 0B
12 00001100 0C
13 00001101 0D
14 00001110 0E
15 00001111 0F
16 00010000 10
32 00100000 20
64 01000000 40
128 10000000 80
255 11111111 FF

作为检查,十进制 255 是单个字节可以保存的最大值;其十六进制形式为 FF,其二进制形式是所有八位都设置为 1。同样,十进制 64 转换为二进制 1000000,填充到 01000000。

常见问题

它能处理非英文字符吗? 标准 ASCII 只涵盖编码点 0–127。编码点超过 127 的字符(如带重音符号的字母、表情符号等)会使用它们的 Unicode 编码点,这些数值可能超过 8 位,无法纳入标准 ASCII 范围。

为什么每个字符是 8 位? 一个字节(byte)等于 8 位(bit),而 ASCII 传统上正好能装进一个字节,所以按 8 位分组就成了约定俗成的表示方式。

可以把二进制再转回文字吗? 本工具的功能是将文本转为二进制。如果想反向转换,只需把二进制按 8 位一组拆分,再将每组数值对应回相应的 ASCII 字符即可。

最后更新: