Windows 中文件的大小:是 KB 还是 kB?

Windows 中文件的大小:是 KB 还是 kB?

根据 JEDEC 标准,1“千字节”(KB) 为 1024 字节,而在大多数情况下,根据 SI,该定义已变为 1000 字节 (kB)。为了解决这一差异,使用了二进制前缀 (kiB)。

因此,我们有 3 种使用前缀的选择 - JEDEC、IEC(均为二进制)和公制(十进制)。

我的问题是:

  1. Windows 使用什么前缀标准来显示文件大小?(肯定不是 IEC 标准)
  2. 为什么 Windows 操作系统以 KB(使用大写字母“K”)显示文件大小,而 SI 单位中表示千的小写字母是“k”?

在国际单位制中,大写“K”代表开尔文。

我是否理解错了什么?

答案1

我会尽可能直接地回答您的问题,因为 KB、KiB、kB、kb 的使用很快就会引发一场离题的争论,因为命名约定之战已经持续了几十年。

1.) Windows 使用什么前缀标准来显示文件大小?(肯定不是 IEC 标准)

事实上JEDEC 100B.01标准,即 KB(Killobyte)为 1024 字节。

2.) 为什么 Windows 操作系统以 KB 为单位显示文件大小(使用大写字母“K”),而 SI 单位中 1 千是小写字母“k”。

再次,因为它是JEDEC 100B.01半导体存储容量单位前缀的标准;它不是 SI 计量单位,因此含义不同。

处理/时,小写字母k可以与大写字母同义;对于,和Kkilokibigigamegatera电气工程设计联合会ISO国际计量局标准协会前缀规范将它们分别定义为大写GMT。小写gmt仅在非正式情况下使用,当上下文提供含义时(例如我刚刚换掉了 1gb 网卡或者我的 2TB 硬盘坏了),并且本身无效的。

大写“K”代表国际单位制中的开尔文。我是不是理解错了什么?

是的,大写K表示Kelvin当您专门谈论温度测量并处理 SI 测量单位时,但是,我们处理的是半导体存储容量,我不会说“我有”512 KB of RAM并意味着“我有” 512 Kelvin Bytes of RAM。此外,何时/如何区分 IEC/JEDEC 和 SI 测量单位 KB/MB/GB/等确实取决于上下文。

大多数操作系统和处理内存/存储的绝大多数设备都使用KKilo 前缀来表示 1024 字节,因此当我收到标有 4GB 模块的 RAM 时,我知道它是 4吉比-字节(4*1024*1024*1024)而不是千兆-字节(4*1000*1000*1000)。

主要的例外是驱动器容量;当我购买拇指驱动器或硬盘时,我知道当它显示 32GB 时,它意味着 32千兆-字节(32*1000*1000*1000)而不是吉比-Bytes (32*1024*1024*1024),尽管我的操作系统会以 Gibi-Bytes 为单位报告(因此我的驱动器从 32GB 变为有效的 29.8 GiB 驱动器)。还请注意,有些 Linux 版本喜欢使用 KB 表示 1000 字节,而不管上下文如何,这可能会造成一些混淆,因为同一操作系统中并非所有应用程序都会报告相同的大小。大多数设备制造商通常会在“包装盒”(或网站等)的某个地方放置免责声明,以表明他们所说的 KB/GB/等是什么意思,例如在硬盘盒上有免责声明*1GB = 1000000000 bytes

如果您对操作系统向您报告的样式感到困惑,您可以查看文件有多少字节,然后进行计算以查看操作系统告诉您什么(“文件大小”,而不是“磁盘大小”,因为它们是不同的东西);如果您的操作系统不能告诉您原始字节数,那么除了它使用的后缀之外,还有更大的问题。

或者正如兰德尔所说: 千字节

答案2

在 Windows 资源管理器中,KB 表示千字节,它指的是 1024 字节的二进制千字节。Explorer 使用大写字母“K”来“表示”二进制,而不是小写字母“k”,后者是 SI 中的标准千字节前缀,表示 1000。

Raymond Chen 的博客文章为什么 Explorer 使用术语 KB 而不是 KiB?概述了 Windows 不使用 KiB 的原因。

如果您环顾四周,您会发现没有人(在实验误差范围内)使用术语 kibibyte 和 KiB。当您购买计算机内存时,其数量以兆字节和千兆字节为单位,而不是兆字节和吉字节。空白 CD 上打印的存储容量以兆字节为单位。互联网上每篇讨论内存和存储的文档(在实验误差范围内)都使用术语 kibibyte/KB、megabyte/MB、gigabyte/GB 等。您必须费尽心思才能找到使用 kibibyte/KiB、mebibyte/MiB、gibibyte/GiB 等术语的人。

Explorer 只是遵循现有做法。每个人(在实验误差范围内)都将 1024 字节称为千字节,而不是千比字节。如果 Explorer 改用千比字节这个术语,它只会以用户无法理解的形式显示信息,目的何在?

相关内容