文本转二进制:转换差异、边界与常见坑
在线纯文本转二进制:按 UTF-8 或 ASCII 输出 8 位二进制分组,并同时给出字节数与分组数,让体积估算不再靠猜;分组长度异常会立刻暴露复制时的缺位;转换后可反向再校验一次。
文本转二进制就是按编码逐字符取字节:ASCII 每字符 1 字节,UTF-8 下一个汉字 3 字节、emoji 4 字节。长度因此与"看起来几个字"无关,做容量估算时必须按字节算。
两种格式的差异对照
| 维度 | 文本(字符) | 二进制(字节) |
|---|---|---|
| 单位 | 字符(码点) | 字节(8 位一组) |
| 英文字符 | 1 个字符 | 1 字节(ASCII 兼容) |
| 中文字符 | 1 个字符 | 3 字节(UTF-8 变长编码) |
| Emoji | 1 个"字符"(实际是代理对/多码点) | 4 字节,且长度计算易出错 |
| 空格与换行 | 可见的空白 | 0x20 与 0x0A,参与编码 |
| 可读性 | 人可读 | 人不可读(全是 0/1 或十六进制) |
| 体积 | 按字符计较小 | ASCII 相同,非 ASCII 膨胀 2–4 倍 |
| 可逆性 | 原始 | 同编码口径下完全可逆 |
边界条件
- 换行符在不同系统上不同(LF 0x0A 与 CRLF 0x0D0A),跨平台比对二进制串必须先统一换行。
- 不可见字符(零宽空格 U+200B、BOM U+FEFF)会被编码出来但不显示,肉眼比对长度对不上时先查它们。
- Emoji 在 UTF-16 下是代理对,按"字符数"分组会切错边界,必须按码点或字节处理。
- 编码口径不一致(UTF-8 与 UTF-16)时同一文本的二进制串完全不同,还原时必须用同一口径。
常见坑
- 把二进制串当数字处理,前导 0 被吃掉,按 8 位分组时整段错位。
- 导出时自动去掉了尾部空格或换行,还原后文本与原文不一致。
- 中文混排时按"字符数"估算体积,实际字节数是估算的三倍。
- 用 GBK 编码的中文按 UTF-8 还原,得到一堆乱码且无法自动察觉。
相关工具
- 文本转二进制通过 UTF-8 在文本与二进制字符串间互转,逐字符显示 0/1 位序列与字节边界。基于 UTF-8 逐字符处理,常见汉字占 3 字节、emoji 占 4 字节,并标出字节边界。反向可把 0/1 串还原成文本,便于核对串口与协议报文。位串可整体复制。可指定每行输出多少字节便于阅读。
- 数据格式转换器在 JSON、YAML、TOML、XML、CSV 之间一处粘贴自由互转并实时预览。在 JSON、YAML、TOML、XML 与 CSV 之间任意互转,粘贴一次即可看多种输出。转换时会提示解析失败的位置,避免带着语法错误继续处理。适合在不同工具链之间迁移配置文件。支持粘贴即转。多种格式的输出可逐一取用。
- 文本转 NATO 字母表把文本逐字母映射为 NATO 音标字母表,适合航空管制、客服电话核对拼写与外语教学,避免噪音环境下口述邮箱与验证码的字母歧义。逐字映射为 Alpha 到 Zulu,数字按标准读法处理,空格与标点原样保留。适合电话核对邮箱、序列号与验证码,避免 B 与 D、M 与 N 听错。读音表可复制后直接念。
- 文字转语音工具把文本转为自然语音朗读,支持多种音色与语速调节,用 Web Speech API 在浏览器实现。调用浏览器内置语音合成,可选音色、语速与音高,支持中英文混读。浏览器不支持标记语言,长文建议分段朗读以免被中断。适合校对稿件、试听文案节奏与辅助阅读。朗读节奏可实时试听。可切换音色并调节语速音高。
常见问题
怎么把 二进制 再转回 纯文本?
使用同工具的交换方向功能,或本站对应的「二进制 转 纯文本」页面,两者都本地运行、数据不上传,可完成往返转换与校验。
纯文本 和 二进制 哪个更适合人类阅读?
这取决于场景:二进制 通常更偏向程序解析与接口传输式的可读形态,而 纯文本 更利于程序解析与接口传输式的程序消费;需要人工编辑时优先选可读性更高的那一侧。
中文转换后为什么比英文长好几倍?
因为按 UTF-8 编码,一个汉字占 3 个字节(24 位),而一个英文字母只占 1 个字节(8 位)。所以同样 10 个字符,中文是 30 字节、英文是 10 字节。这不是工具的问题,而是 UTF-8 的设计(变长编码换兼容性)。
空格和换行也会被编码吗?
会,而且必须——空格是 0x20、换行是 0x0A。如果转换时"顺手"去掉空白,还原回来的文本就和原文不一致了。校验转换是否正确的方法很直接:转过去再转回来,逐字节比对。