更多分类: 数理统计计算器 化学计算器 体积计算器

ASCII 码与进制转换计算器

首页 › 进制换算 › ASCII 码与进制转换计算器
最后更新: · 公式与示例已人工校对

ASCII 是字符与数字之间的对照表,每个字符对应一个 0 到 127 的编码。同一个编码可以用十进制、十六进制、八进制或二进制表示,转换只是换一种写法,字符本身不变。

使用方法

  1. 在任一栏填入数值或字符
  2. 点击转换得到其余进制的对应值
  3. 多个值之间用空格分隔即可批量转换

计算公式

编码范围 0–127 为标准 ASCII 128–255 为扩展
进制换算 同一数值的不同写法 如 65 = 0x41 = 0o101 = 0b1000001
可打印字符 32 为空格,33–126 为可见字符 0–31 为控制字符

计算示例

查看大写 A 的各种表示
  1. 十进制 65
  2. 十六进制 41
  3. 八进制 101
  4. 二进制 1000001
  5. 四种写法描述的是同一个字符
结果:A = 65 = 0x41
把字符 7 转成数值 7
  1. 字符 7 的 ASCII 编码是 55,十六进制 0x37
  2. 数值 7 与编码 55 相差 48
  3. 编程时用 55 − 48 或直接减 0x30 得到数值 7
  4. 反向转换加 48 即可把数值变回字符
结果:55 − 48 = 7

要点与常见误区

  • 数字字符 0 的编码是 48,不是 0,两者含义不同
  • 大写与小写字母相差 32,只差一个二进制位
  • 中文超出 ASCII 范围,需用 UTF-8 等多字节编码
  • 换行 LF 是 10、回车 CR 是 13:Windows 文本每行用 CRLF 两个字节,Linux 只用 LF,跨平台复制时常出现多余的 ^M

常见问题

为什么字符和数字不能直接混用
因为字符 0 的编码值是 48,字符 9 是 57,它们与数值 0 到 9 相差 48。编程时必须显式转换,否则把字符当作数字参与运算会得到完全错误的结果。
ASCII 与 UTF-8 是什么关系
UTF-8 兼容 ASCII,前 128 个字符的编码完全相同,因此纯英文文本在两种编码下字节一致。中文等字符在 UTF-8 中占用多个字节,而在 ASCII 中根本无法表示。
一个汉字占几个字节
取决于编码:UTF-8 中常用汉字占 3 字节,GBK 中占 2 字节。所以同一段中文在两种编码下的文件大小不同,做长度限制时要按字节而不是按字数算。
128 到 255 的扩展 ASCII 为什么各国不一样
标准只定义了 0 到 127,128 到 255 留作扩展,各国自行定义。西欧用 ISO-8859-1,简体中文早年用 GBK,同一字节在不同编码下对应不同字符,这是乱码的直接原因。
为什么大小写字母只差一位
大写 A 是 65、小写 a 是 97,正好差 32,也就是二进制第 6 位。因此大小写互转只需对这一位取反,这条性质在老式汇编和位运算优化里很常用。

相关计算器