字节、KB、MB、GB——到底怎么换算
存储容量、网络带宽、文件大小……日常开发中几乎每天都要和字节打交道。但不同场景下"1 KB = 1024 字节"还是"1000 字节"?为什么买的硬盘插上电脑容量"缩水"了?这篇帮你彻底搞清楚。
两种换算标准
二进制(IEC 标准):编程中的标准
计算机底层以二进制为基础,习惯上用 1024(2¹⁰)作为换算单位:
1 Byte(B) = 8 bits(位)
1 KB(KiB) = 1024 Bytes
1 MB(MiB) = 1024 KB
1 GB(GiB) = 1024 MB
1 TB(TiB) = 1024 GB
1 PB(PiB) = 1024 TB在编程语言和操作系统中,除非特别说明,都用这个标准。Linux 的 df -h、macOS 的"关于本机"都显示的是二进制单位。
十进制(SI 标准):商业标称用的标准
硬盘、U 盘、网速等厂商标注容量时,为了数字更好看,用 1000 作为换算:
1 KB = 1000 Bytes
1 MB = 1000 KB
1 GB = 1000 MB
1 TB = 1000 GB
// 厂商的"1TB硬盘" = 1,000,000,000,000 Bytes
// 电脑显示 ≈ 931 GB(因为电脑用1024算)这就是为什么"买的 1TB 硬盘只显示 931GB"的真相——不是缩水,是计量标准不同。
网络带宽中的字节
网络带宽说的是"位"(bits),而下载速度说的是"字节"(Bytes),两者差 8 倍:
运营商的"100M宽带" = 100 Mbps(兆位/秒)
= 100 ÷ 8 MB/s
≈ 12.5 MB/s(实际下载速度峰值)
"千兆宽带" = 1 Gbps = 125 MB/s(理论上限)所以如果看到"100M宽带下载只有12MB/s",不是被骗了,是单位的正确换算。
常见场景换算表
| 场景 | 实际值 | 换算 |
|---|---|---|
| 1张普通照片 | ≈ 2-5 MB | 2-5 × 1024² Bytes |
| 一首 MP3 | ≈ 3-5 MB | ≈ 3-5 分钟音乐 |
| 1部电影(1080p) | ≈ 1.5-3 GB | ≈ 90-120 分钟 |
| 1部电影(4K) | ≈ 10-20 GB | 流量杀手慎用 |
| 1集电视剧 | ≈ 300-700 MB | 高清/普清差距大 |
| 主流游戏客户端 | ≈ 10-100 GB | 首次下载流量大 |
| 4G手机流量套餐 | 1 GB = 1024 MB | 注意运营商计费标准 |
| 双11薅羊毛 | 付定金时注意流量费 | 开玩笑的 😁 |
JavaScript 中处理字节换算
// 自动换算为人类可读格式
function formatBytes(bytes, decimals = 2) {
if (bytes === 0) return '0 Bytes';
const k = 1024;
const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];
const i = Math.floor(Math.log(bytes) / Math.log(k));
return parseFloat((bytes / Math.pow(k, i)).toFixed(decimals)) + ' ' + sizes[i];
}
formatBytes(1024); // "1 KB"
formatBytes(1536); // "1.5 KB"
formatBytes(1048576); // "1 MB"
formatBytes(1073741824); // "1 GB"
formatBytes(5000000000); // "4.66 GB"大数字的临界点记忆
1 KB = 1,024 Bytes ≈ 1千字节
1 MB = 1,048,576 Bytes ≈ 100万字节
1 GB = 1,073,741,824 Bytes ≈ 10亿字节
1 TB = 1,099,511,627,776 Bytes ≈ 1万亿字节
// 快速估算技巧:
// 真实MB数 = 显示MB数 × 0.931
// 显示GB数 = 标称GB数 × 0.931编码对文件大小的影响
不同字符编码占用的字节数不同:
字符 ASCII UTF-8 UTF-16 UTF-32
"a" 1B 1B 2B 4B
"中" 1B(乱码) 3B 2B 4B
emoji "😀" 1B(乱码) 4B 4B 4B
// 所以同一个文本文件,用 UTF-8 和 UTF-16 存储
// 文件大小可能相差很大!
// JSON 通信推荐统一用 UTF-8(无 BOM)在线字节转换工具
手动算太麻烦,在线工具一键互转:字节转换器 支持 B / KB / MB / GB / TB / PB 的双向换算,输入任意单位自动计算其他。
常见换算示例:
1048576 Bytes=1024 KB=1 MB15728640 Bytes=15360 KB=15 MB2147483648 Bytes=2097152 KB=2048 MB=2 GB
总结
记住两个标准:编程/系统用 1024(二进制),厂商/商业用 1000(十进制)。网络带宽记得除以 8 换算成下载速度。遇到字节换算别再算错,直接用 字节转换器。
常见问题
Q: 如何使用 字节转换器 相关工具?
A: 这类工具一般有明确的输入框和输出框,按提示输入内容,点击对应按钮即可得到结果。建议先用简单示例测试功能是否正常,再处理实际数据。
A: 这类工具一般有明确的输入框和输出框,按提示输入内容,点击对应按钮即可得到结果。建议先用简单示例测试功能是否正常,再处理实际数据。
Q: 字节转换器 适合在什么场景使用?
A: 根据具体工具类型决定。格式转换工具适合处理第三方数据,编码工具适合加密传输,压缩工具适合文件上传前处理。多积累工具使用经验,遇到问题时能快速判断用哪个工具解决。
A: 根据具体工具类型决定。格式转换工具适合处理第三方数据,编码工具适合加密传输,压缩工具适合文件上传前处理。多积累工具使用经验,遇到问题时能快速判断用哪个工具解决。
Q: 有没有更好的替代工具?
A: 不同工具有不同侧重,重点是理解原理。可以同时安装多个类似工具,实际使用中对比效果,选择最顺手的一个。随着使用经验增加,你也能判断工具的好坏。
A: 不同工具有不同侧重,重点是理解原理。可以同时安装多个类似工具,实际使用中对比效果,选择最顺手的一个。随着使用经验增加,你也能判断工具的好坏。