什么是文本转八进制?

文本转八进制工具将文本转换为基数 8 的字节值。每个字符变成三位八进制数,常见于 Unix 文件权限和 C 转义序列。

每个字符都被转成八进制数。默认编码 UTF-8 字节——三位八进制刚好覆盖一个字节(000 到 377),所以 Unix 的 chmod 至今仍用八进制表示权限,而 C、Python、shell 也接受 \nnn 形式的字节转义。需要原始 Unicode 码点时,可切换到码点模式,每个字符对应一个八进制数。两种模式都支持反向操作:粘贴八进制后会按 0-7 数字校验,并还原原文。

使用方法

  1. 在输入框中输入或粘贴要转换为八进制的文本。
  2. 选择编码方式(UTF-8 字节或原始码点)、分隔符(空格、逗号、短横线或换行)、前缀样式(无、\NNN、0o 或 %),并决定是否补前导零。
  3. 复制八进制输出用于脚本或文档。切换到反向模式可将八进制转换回文本。

何时使用

  • 在 C 语言字符串里以 \\NNN 的形式嵌入不可打印字符。
  • 解析配置文件或日志里以八进制形式记录的字节序列。
  • 向学生展示非 ASCII 字符在 UTF-8 下如何拆成多个八进制字节。

结果

输入 'Hello',得到 '110 145 154 154 157'(空格分隔)或 '\\110\\145\\154\\154\\157'(反斜杠前缀,适用于 C 字符串)。

常见问题

为什么 é 这种字符会变成两个八进制数?
ASCII 0-127 范围之外的字符在 UTF-8 里占多个字节。é 对应两个字节(0xC3 0xA9),工具就输出 303 251。纯英文字母始终只占一个字节。
「补零」和「不补零」有什么区别?
补零会让每个字节都占满三位(空格输出 040 而不是 40),这种定长格式正好对应 C 语言里的 \\NNN 转义。不补零看起来更紧凑,但在源代码里容易和后面的数字粘成一起。
前缀样式(\110、0o110、%110)有什么用?
它们给每个八进制值加上包裹,方便直接粘进代码。反斜杠(\110\145…)适用于 C、C++ 和 shell 字符串字面量,编译后还原成原文。0o110 是 Python 和 JavaScript 里可直接运行的八进制字面量。%110 采用百分号写法,便于和 URL 编码值对照。选 None 就是一串纯粹、可读的数字。
和 chmod 用的权限数字是同一种八进制吗?
底层都是八进制,但 chmod 编码的是位标志:每一位表示一组用户的读、写、执行权限。它在表示比特位,不是字符。
可以把 od 或 hexdump 输出的八进制粘进来解码吗?
可以。切到反向模式,把八进制组用空格、逗号、换行或反斜杠分隔粘进去都行。工具会重建原文,多字节 UTF-8 序列也能正确还原。如果某组含数字 8 或 9,或在 UTF-8 模式下超过 0377,会即时被标出,方便你修正复制粘贴时引入的错误。

相关工具