TextKit
← 返回博客

理解二进制:计算机如何表示文本

· TextKit
二进制编码计算机科学

在最底层,世界上每台计算机都说同一种语言:二进制。无论你是在写邮件、看照片还是玩游戏,底层数据都以 0 和 1 的序列存储。在这篇指南中,我们将探索二进制的工作原理以及文本如何以二进制形式表示。

什么是二进制?

二进制是一种只使用两个数字的基数为 2 的数制:0 和 1。这与我们日常生活中使用的十进制(基数为 10)不同,后者有从 0 到 9 共十个数字。计算机使用二进制是因为其基本组件——晶体管——有两个状态:开(1)和关(0)。

每个 0 或 1 称为一个比特(bit),八个比特组成一个字节(byte)。一个字节可以表示 256 个不同的值(从 00000000 到 11111111),足以编码基本文本中使用的所有字母、数字和符号。

ASCII 编码

为了用二进制表示文本,计算机需要在字符和数字之间建立映射。最有影响力的早期标准是 ASCII(美国信息交换标准代码),于 1963 年发布。

ASCII 为每个字符分配一个 0 到 127 之间的数字:

  • 0–31:控制字符(如换行、制表符和转义)
  • 32–47:标点符号(空格、!"# 等)
  • 48–57:数字 09
  • 65–90:大写字母 AZ
  • 97–122:小写字母 az

例如,字母 A 的十进制值是 65,二进制是 01000001。字母 a 是 97,即 01100001

文本如何以二进制存储

当你输入”Hi”时,计算机看到的不是字母——而是两个字节:

  • H → 72 → 01001000
  • i → 105 → 01101001

所以”Hi”被存储为 01001000 01101001。当你保存文本文件时,这些字节按顺序写入磁盘。当你打开文件时,软件读取字节并使用字符编码显示原始字母。

超越 ASCII:Unicode 和 UTF-8

ASCII 对英语很适用,但只覆盖 128 个字符。为了支持中文、阿拉伯文和表情符号等语言,现代系统使用 Unicode——一个更大的标准,可以表示超过一百万个字符。

UTF-8 是 Web 上最常见的 Unicode 编码。它与 ASCII 向后兼容:前 128 个字符使用相同的单字节表示,而其他字符使用两到四个字节。这种设计使 UTF-8 对英语文本高效,同时仍支持所有语言。

在文本和二进制之间转换

手动将文本转换为二进制很简单但很繁琐:查找每个字符的 ASCII 值,然后将该十进制数转换为 8 位二进制。将二进制转换回文本则反向操作——将比特分组为字节,将每个字节转换为十进制,然后查找字符。

对于超过几个字符的内容,在线转换器要快得多,也更不容易出错。

使用 TextKit 的二进制转换器

TextKit 提供免费的 二进制转换器,可即时处理双向转换:

  1. 文本转二进制:在输入框中输入或粘贴文本。工具将每个字符转换为其 8 位二进制表示,字节之间用空格分隔以便阅读。
  2. 二进制转文本:粘贴二进制字符串(带或不带空格),工具将其解码回可读文本。
  3. 一键复制结果。

转换器完全在浏览器中运行,页面加载后即可离线使用,并保护你的数据隐私。

二进制转换的实际用途

  • 学习计算机科学:了解字符如何映射到比特
  • 调试:排查编码问题时检查原始字节值
  • 密码学谜题:许多 CTF 挑战涉及二进制编码的消息
  • 教育项目:演示计算机如何存储文本
  • 趣味实验:用二进制编码秘密消息并与朋友分享

使用二进制的技巧

  • 将比特分组为字节:始终以 8 位为一组操作,避免错位。
  • 注意编码不匹配:如果二进制解码出乱码,原始文本可能使用了与 ASCII 不同的编码。
  • 使用空格提高可读性:手动分享二进制时,在字节之间加空格。
  • 记住大小写敏感:大写和小写字母有不同的二进制值。

准备好用二进制查看你的文本了吗?试试 TextKit 免费的 二进制转换器——粘贴文本,即时获得结果。