Windows OS中文件的大小。(是KB还是kB?)


20

在JEDEC标准中,一个“千字节”(KB)为1024字节,而在大多数情况下,其定义已根据SI移至1000字节(kB)。要解决此差异,请使用二进制前缀(kiB)。

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

我的问题是-

  1. Windows在显示文件大小时使用什么前缀标准?(当然,这不是IEC标准)
  2. 如果Windows操作系统的SI单位为Kilo小写字母“ k”,为什么Windows OS会以KB(使用大写字母“ K”)显示文件大小?

大写字母“ K”代表国际单位制中的Kelvin。

我是否在理解中缺少某些东西?


9
@卢安(Luaan):迄今为止,SI约定对于单位,甚至对于非SI单位,都是最常见的约定。例如,他们试图以13 TeV运行LHC,但是eV(电子伏特)不是SI。当您说环境噪声水平为40 dB时,B(bel)也不是SI。
Dietrich Epp

2
@DietrichEpp:仍然是物理学。字节不是物理单位;物理学家将信息视为熵(单位:J / K)。
MSalters 2015年

3
相关消息:xkcd.com/394
basic6

3
@MSalters:“贝尔”不是物理学,它是类似于字节的抽象单位。
Dietrich Epp

2
我的意思是“抽象”,因为Bel不对应于任何具体的(或物理的)系统。它仅用于表示比率,甚至不用于表示某些特定比率(例如功率)。例如,在数字信号处理中,dB将用于表示没有物理单位开始的数字信号的比率。因此,我强烈不同意分贝是“物理”单位或以任何特殊方式连接到物理的观念。
Dietrich Epp

Answers:


41

我会尽可能直接地回答您的问题,因为使用命名空间大战KB,KiB,kB和kb会很快引起一场争论,因为命名惯例战争已经持续了数十年。

1.)Windows使用什么前缀标准显示文件大小?(当然,这不是IEC标准)

实际上,这是JEDEC 100B.01标准,这意味着KB(千字节)为1024字节。

2.)为什么Windows OS在以SI单位表示千分之一的小写字母“ k”时,会以KB(使用大写字母“ K”)显示文件大小。

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

在处理/ 时,小写字母k可以与大写字母同义。对,和,JEDECISOBIPM SI前缀规范定义它们是大写,并分别。小写,并且仅用于非正式场合,当上下文提供的含义(如在我刚换了我的1GB NIC我的2TB硬盘不工作),且本身无效。KkilokibigigamegateraGMTgmt

大写字母“ K”代表国际单位制中的Kelvin。我是否在理解中缺少某些东西?

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

大多数操作系统和绝大多数设备是处理存储器/存储使用前缀K为基洛意味着1024个字节,所以当我拿到RAM,说这是一个4GB的模块,我知道这是4个吉比 -Bytes(4 * 1024 * 1024 * 1024),而不是千兆字节(4 * 1000 * 1000 * 1000)。

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

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

或正如Randall所说: 千字节


7
“大多数OS和处理内存/存储的大多数设备都使用K表示前缀K表示1024字节” 从10.6开始,OS X不再使用。那是一个相当重要的操作系统。
索伦Kuklau

2
@Ramhound:你能找到这个的来源吗?OS X在默认情况下似乎在我的系统上使用正确的前缀,并且我看不到有更改它的选项。有选择公制或美制单位的选项,但没有使用二进制前缀的选项。
Dietrich Epp

1
MacOS和某些Linux发行版(如Ubuntu)已切换为十进制前缀,以使文件大小与HDD大小一致。KB = 1000个字节,GB = 1000个字节
phuclv

4
硬盘不是“例外”。DVD上的“ GB”以十亿字节为单位。十进制前缀还用于磁带容量,网络速度(“千兆以太网”为1000 ^ 3位/秒),CPU和总线时钟速度以及带宽额定值,在过去,串行时称为“波特率”端口。如果有的话,RAM几乎是该字段中使用小数前缀的所有其他产品的例外。由于某种原因,Windows资源管理器决定采用JEDEC约定,而不是硬盘驱动器制造商所使用的包含资源管理器正在告诉您的文件的
杰米·汉拉汉

2
@JamieHanrahan:驱动器存储历史上使用的扇区数为2的幂,而分配块的扇区数为2的幂。一个360K的软盘拥有720个扇区,每个扇区512字节;“ 1.44MB”软盘上有2,880个此类扇区(“兆字节”为1,024,000个字节)。只有在驱动器容量变大之后,兆字节才会收缩。
超级猫

14

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

Raymond Chen的博客文章为什么“资源管理器”使用术语KB而不是KiB?概述Windows为什么不使用KiB。

如果环顾四周,您会发现没有人(在实验错误范围内)使用术语kibibyte和KiB。当您购买计算机内存时,该数量以兆字节和千兆字节而不是兆字节和千兆字节指定。空白CD上打印的存储容量以兆字节表示。互联网上每个有关内存和存储的文档(都会出现实验错误)都使用千字节/ KB,兆字节/ MB,千兆字节/ GB等术语。 / KiB,兆字节/ MiB,千兆字节/ GiB等

资源管理器只是遵循现有的做法。每个人(在实验错误范围内)指的是1024字节为千字节,而不是千字节。如果Explorer改用kibibyte一词,那只会以无法理解的形式向用户显示信息,目的是什么?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.