文件大小转换器接收一个数值, 一个单位, 一个模式, 一次性把同一个量打印成全部六个单位: 字节, 然后向上五个阶梯, 十进制模式是 KB, MB, GB, TB, PB, 二进制模式是 KiB, MiB, GiB, TiB, PiB. 它只回答一个问题, 这个文件在其他单位里是多少, 结果表的每一行都从同一个字节数推出. 全部算术在浏览器内完成, 没有后端, 没有 API 调用. 从文件大小转换器开始, 保留占位符: 输入 10, 保持 TB 选中, 十进制模式.
唯一的字节数
第一步是一次乘法: 你输入的数值乘以所选单位的系数, 乘积就是字节数. 十进制模式下 10 TB 是 10 乘以 1000000000, 字节数 10000000000000. 第二步把这个唯一的字节数除以其他每个单位的系数, 一共六次除法, 每个商成为一行. 没有值先转成第二个值再转成第三个; 每一行都是同一个字节数的不同读法. 同样的字节数逻辑也是图片信息工具读取真实图片文件大小所用的逻辑.
十进制与二进制基数
两个模式只差单位之间的阶梯大小. 十进制模式按 1000 阶梯, 一个 KB 是 1000 字节, 一个 GB 是 1000 乘 1000 乘 1000 字节. 二进制模式按 1024 阶梯, 一个 KiB 是 1024 字节, 一个 GiB 是 1024 的三次方, 即 1073741824 字节. 切换模式会把所选单位映射到同位置的对应单位, TB 变 TiB, MB 变 MiB, 所以同样的数字现在代表略不同的字节数. 差距在第三级累积: 1 GiB 比 1 GB 大约多 7 个百分点. 这一切背后的位级图景, 位与字节, 见文本转二进制指南.
跑一遍例子
输入 10, 十进制模式选中 TB. 各行打印如下: 10000000000000 字节, 10000000000 KB, 10000000 MB, 10000 GB, 10 TB, 以及 0.01 PB. 切换到二进制模式, 所选单位变为 10 TiB: 10995116277760 字节, 10737418240 KiB, 10485760 MiB, 10240 GiB, 10 TiB, 以及 0.009313 PiB. 十进制与二进制行在字节以上的每一级都不一样, 因为系数不同, 差距随每上一级而增大.
参照表
表格下方工具列出六个日常文件及其固定字节数: 文本邮件 50000 字节, 照片 3000000, MP3 歌曲 5000000, 1080p 电影 1500000000, 操作系统安装盘 4000000000, 游戏 50000000000. 每一行显示该字节数在十进制模式下的 GB 表示, 0.05, 3.00, 5.00, 1.50, 4.00 和 50.00, 或在二进制模式下的 GiB 表示, 电影是 1.40, 安装盘 3.72, 游戏 46.57. 这张表让你一眼认出大小的量级. 如果想让文件大小真正变小, 图片格式转换器把文件重编码成另一种格式, 字节数随新格式变化.
数字如何打印
打印规则让表格在十个数量级内保持可读. 零打印成单独的 0. 1 及以上的值带分组, 最多两位小数, 所以例子的 GB 行读作 10000. 小于 1 的值按 4 位有效数字打印, 这就是同一例子的 PB 行读作 0.01, 而二进制运行的 PiB 行读作 0.009313 的原因. 两种模式规则相同, 只有底层字节数不同.
它不是什么
文件大小转换器不是压缩器. 它重新表达一个大小, 从不触碰字节本身. 想让文件真正变小, 图片压缩器压缩图片, CSS 压缩器精简样式表, JS 压缩器精简脚本, 这些都会改变真实的字节数. 它也不是文件检查器. 想读一张真实图片的元数据, 尺寸, 格式与大小, 见图片信息指南.