二进制转八进制转换器
八进制仍然活跃在 Unix 文件权限(chmod 755)、旧 PDP 时代的手册,以及少数单片机工具链中。这个转换器会从右侧开始每三位一组处理任意二进制字符串,并将每组映射为 0 到 7 的八进制数字 — 还可选择前导零,用于把 0755 当作八进制字面量的语言。
如何将二进制转为八进制
-
1
输入二进制值
空格会被移除。任意长度都可以;最左侧的分组会自动用前导零补足到三位。
-
2
从右侧开始每三位分组
`111101100` 会变成 `111 101 100`。分组方向很重要 — 始终从右到左。
-
3
映射每一组三位
000 = 0,001 = 1,010 = 2,一直到 111 = 7。每一组三位正好映射到一个八进制数字。
-
4
读取并复制结果
可选择纯数字(`754`)、带前导零(`0754`)或带 `0o` 前缀(`0o754`),以兼容 Python 3 和 Rust。
三位与八进制对照表
| 二进制 | 八进制 |
|---|---|
| 000 | 0 |
| 001 | 1 |
| 010 | 2 |
| 011 | 3 |
| 100 | 4 |
| 101 | 5 |
| 110 | 6 |
| 111 | 7 |
示例:Unix 权限
rwxr-xr-x 表示所有者拥有读/写/执行权限,所属组和其他用户拥有读/执行权限。用二进制表示就是 111 101 101,可直接分组为八进制 755 — 也就是传给 chmod 的确切数字。
八进制什么时候有用
- 文件权限:
chmod 644、umask 022、stat -c %a都用八进制表示。 - 转义序列:C 中的
\100是@的八进制(十进制 64)。 - 旧机器码:PDP-8、PDP-11 和早期 DEC 文档用八进制列出操作码,因为它们的字长是 3 位的倍数。
- 视觉清晰:三位分组比二进制读得更快,又不像十六进制那样引入完整的字母表。
常见坑
- C 中前导零表示八进制:
0755是八进制 755(= 十进制 493),755是十进制 755。粘贴前请检查你所用语言的规则。 - JavaScript 移除了旧式八进制:严格模式会拒绝
0755。请改用0o755。 - 分组方向:如果从左到右分组,任何长度不是 3 的倍数的位序列都会得到错误答案。
常见问题
因为权限标志正好按每个角色(所有者、所属组、其他用户)三项(读、写、执行)分组。每一组三位一对一映射到一个八进制数字,所以 rwxr-xr-x 一步就能读作 755。
C、Perl 和各种 shell 使用前导 0。Python 3、Rust 和 Swift 使用 0o。命令行上的 chmod 不使用前缀。
负数需要有符号位宽(补码)。请先指定位宽;否则转换器会把所有输入当作无符号处理。
不需要。转换器会把最左侧的分组用前导零补足到三位。1111 会变成 001 111,也就是八进制 17。
相关工具
随机颜色生成器
生成 1 到 50 个随机 HEX 颜色,查看色块,复制代码,并用于 CSS、测试或配色探索。
颜色调色板生成器
从基础 HEX 颜色生成单色、类似色、互补色、三角色或四角色调色板,并导出可直接复制的 CSS 变量。
HEX 颜色选择器
通过可视化方式选择颜色,并获取 HEX、RGB、HSL、HSV、CMYK 值以及黑白背景下的对比度。
JSON 格式化工具
粘贴 JSON,即可用 2 或 4 个空格美化排版,压缩成紧凑输出,或在复制结果前快速检查语法。
随机字母生成器
生成随机 A-Z 字母。选择数量、大写、小写或大小写混合,用于游戏、提示题或课堂活动。
随机调色板生成器
生成包含 2 到 15 个色块的随机调色板,选择鲜明、柔和、低饱和或深色风格,然后复制 HEX 代码或 CSS 变量。