![为什么同一个文件在不同的操作系统上显示不同的大小](https://linux22.com/image/841465/%E4%B8%BA%E4%BB%80%E4%B9%88%E5%90%8C%E4%B8%80%E4%B8%AA%E6%96%87%E4%BB%B6%E5%9C%A8%E4%B8%8D%E5%90%8C%E7%9A%84%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E4%B8%8A%E6%98%BE%E7%A4%BA%E4%B8%8D%E5%90%8C%E7%9A%84%E5%A4%A7%E5%B0%8F.png)
我想举几个场景:
一个电影文件在 Windows 中显示为 700 MB,但在 Ubuntu 中显示为 735 MB,它位于我的驱动器中,具有 NTFS 分区。同样,另一个文件在 Windows 中显示为 446 MB,但在 Ubuntu 中显示为 467 MB。
另外,当我从互联网下载文件时,它们在 Ubuntu 中下载后会发生变化,但在 Windows 中不会发生变化。
- 我通常必须上传种子并注明文件大小。大多数时候我使用 Ubuntu,只使用 Windows 玩游戏。
实际上我的问题是:
- 创建种子时我应该提及哪种大小?
- 是否有任何工具、软件或公式可以计算 Ubuntu 中与 Windows 中文件大小相当的文件大小?
我已经尝试过以下链接但找不到我的实际答案:
答案1
Windows 系统假设 1024 字节为 1 千字节单位,1024 千字节为 1 兆字节单位;而 Ubuntu 系统则假设 1000 字节为 1 千字节 (KB) 单位,1000 千字节为 1 兆字节 (MB) 单位,以此类推。
Windows 使用“二进制前缀”,而 Ubuntu 或 GNU/Linux 在其“适当”的泡沫中使用它。
这IEC 和 NIST标准化,并将符号改为……
在使用中,通常使用 1024 的幂来描述的产品和概念将继续存在,但会使用新的 IEC 前缀。
例如,536870912 字节(512×1048576)的内存模块将被称为 512 MiB 或 512 兆字节,而不是 512 MB 或 512 兆字节。相反,由于硬盘驱动器过去一直使用 SI 惯例进行营销,即“千兆”表示 1000000000,因此“500 GB”硬盘驱动器仍将这样标记。
根据这些建议,操作系统和其他软件也会以相同的方式使用二进制和 SI 前缀,因此购买“500 GB”硬盘的用户会发现操作系统报告“500 GB”或“466 GiB”,而 536870912 字节 RAM 将显示为“512 MiB”。维基百科
因此,要回答您的第一个问题,请使用基于 MB 为 1024KB 的事实的大小。至于第二个问题,我不知道有这样的工具。