为什么Ubuntu将不再以字节,兆字节,千兆字节等来度量文件大小单位?


13

我在某处读到,Ubuntu将不再使用我们现在都知道的熟悉的文件大小单位(kB,MB,GB,TB),并切换到其他IEC标准(KiB,MiB,GiB,TiB)。如果这是真的,我想知道此更改背后的原因,以及此更改产生的影响(如果有),尤其是对于多平台应用程序或与Wine一起运行的应用程序。


3
一个字节就是一个字节。不好的例子。
内森·奥斯曼

2
据我所知,在Ubuntu中已经使用KiB,MiB ... etc。因此,“ Ubuntu将不再..”应为“ Ubuntu不再..”
Weboide 2010年

Answers:


60

简短的回答是,前缀会更改。但这并没有真正的改变。

推理

一直存在混淆,因为二进制数据使用了十进制样式的单位(例如KB,MB,GB)-KB表示1024字节,而不是预期的1000字节。当然,世界上许多人在公制下使用日常生活中的实际十进制前缀。

当然,网络工程师和长期使用计算机的用户都经过培训以了解它们之间的区别,但是持续的混乱意味着应用程序的用法不一致。一个应用程序可能使用MB表示1,000,000字节(使用十进制前缀),而另一个应用程序可能表示1,048,576字节(使用二进制解释)。

这导致Ubuntu最终采取了新的单位政策

影响力

影响实际上只是显示问题。文件大小和网络带宽将使用十进制前缀显示,因此5kB文件实际上为5000字节。这实际上符合许多人(大多数?)的期望。

内存使用情况和某些低级实用程序将使用二进制前缀(KiB,MiB,GiB,TiB)显示大小。这可能会引起一些最初的混乱,但实际上比现状(其中我们有一个前缀表示两个不同的事物)要好。

由于Windows仍使用旧的临时系统,因此Wine应用程序可能会为同一文件显示略有不同的文件大小。但是,由于四舍五入的方法,至少我经常会看到不同的大小,所以我不认为这是一个主要问题。

也可以看看:


2
嗯 为什么不使策略在所有情况下仅使用1MB表示1024?如果人们购买“ 2GB”驱动器(实际上是2GiB驱动器),然后在Ubuntu中打开它,则报告为2.2GB左右。据我了解,曾经使用MB来表示1,000总是错误的,对于KB,GB等
也是如此。– mlissner

200GB的驱动器是200GB的驱动器,而不是200GiB
txwikinger 2010年

2
@mlissner:实际上,使用MB来表示1024×1024字节始终是错误的,即使它是常用的,这也是11年前对基于二进制的新前缀进行标准化的原因。因此,Ubuntu仅实施了11年的IEC标准和2年的ISO标准(现在称为ISO / IEC 80000)。
2010年

2
只要1kB为1024字节,我就不会感到困惑。
Burli 2011年

-1

真是太简单了!!!

几年前对此几乎没有混淆。因为记号

  • 1 KB = 1024字节
  • 1 MB = 1024 KB

多年来,在世界各地的所有大学以及几乎所有行业(软件和硬件)中都对其进行了教授,学习和使用。

以1000为基数(甚至没有以10为基数)的愚蠢想法只是我们时代和现代生活愚蠢的另一个症状。

使事情变得更糟的是,更愚蠢的想法是尝试建立(并继续这样做)不可行的1000基单位的旧记法。创造了所有的困惑。如果他们只是通过了公约

  • 1 KiB = 1000字节
  • 1 MiB = 1000字节

那么混乱就会少很多,问题就会小很多。

他们应该尝试确定

1KB = 1024 bytes
1MB = 1024 KB

and

1 Ikb or ikb or Kib = 1000 bytes
1 IMb or imb or Mib  = 10^6 bytes

绝对没有必要使用base-1000单位。这个想法可能始于一个固执的头脑,他说:“哦,不,如果公斤是1000,兆是1,000,000,我们将使用以1000为基数的公斤和兆作为信息单位(以2为基!)”。仅仅因为一天,但是那是更久的时间了,某人有一个不幸的想法(虽然还不错),将千字节(kb)称为一堆1024字节。如果他选择K2BM2B,并呼吁他们 kitwo字节mitwo字节(或库基字节Mookie广告字节gookie字节),例如,所有这些阻碍了将base-1000用于所有应用程序和整个操作系统的想法,并将其强加给对peolpe谈论硬件和软件中措施的正常方式,这是不可能的,使事情变得更糟。


3
实际上,我们正在使其更具逻辑性。例如,当我们指的是1000米时,我们使用km。为什么那应该不同?k = 1024的原因是性能和简单性。仅移动这些位而不进行实际除法确实非常快。但是今天,通过越来越大的数字,1024 ^ n1000 ^ n之间的差异。虽然这不是问题,因为它们实际上是相同的,但它开始变得令人困惑。
GeorgSchölly

1
多年来,在世界各地的所有大学以及几乎所有行业(软件和硬件)中都对其进行了教授,学习和使用。不,不是。这是程序员为了证明自己的懒惰而传播的神话。“兆字节”在1960年代表示“ 1,000,000字节”,“千字节”表示“ 1000字节”。微软主要归咎于基于荒谬和不切实际的基于1024的单元。
endlith 2014年

-2

确实令人困惑,早在1998年发生的尺寸指定更改就更加容易了,如果他们只是以10的幂添加新的设置作为新的指定,则本来会更简单,但遗憾的是,他们没有这样做,因为时间集中在更正“ Kilo”一词的词源上,因此所有基于2的幂的原始大小(1024)都被赋予了新名称和新名称,然后以10个数字的新幂假定了1998年之前的原始标签名称。

因此,让混乱开始:

在1998年之前,千字节表示1024字节,并指定为K或KB。

1998年之后,将1998年前的原始千字节重命名为Kibibyte,并赋予新的名称K或KiB,并创建了一个新的1998年千字节,后为1000字节,其缩写为KB,因此,今天我们有了以下内容:

1 KB = 1000字节(KB 不能缩短为K)1 KiB = 1000字节(KiB可以缩短为K)

名称均已修改,因此KB是指当前千字节(1000)的正式缩写,而K和KiB则是Kibibyte(1024)的正式缩写。

这尤其令人困惑,因为我们大多数人早在1998年之前就已经长大,习惯于将千字节称为1024字节,并以KB或K作为速记名称,但是今天这是错误的,我们所有人实际上都是在指当我们说“千字节”时,用“千字节”来表示,并经常使用IEC早在1998年制定的正式不符合世界标准的错误名称,这有点令人困惑,但不会太糟,除非现在甚至18年后人们仍然没有意识到K和KB 并不相同,而是完全不同。

因此,实际上“ K”(1024)和“ KB”(1000)之间确实有区别!

顺便说一句,这也是为什么硬盘驱动器似乎总是比其广告宣传要少得多的空间的原因,但是硬盘驱动器制造商是正确的,并且当他们在包装上写“ Terabyte”时使用的是当今适当的标准。但是,购买该驱动器的人实际上是在考虑兆兆字节(TB)的问题,并期望这样的空间。

顺便说一句,2 TB(Terabyte)与2 T或2 TiB驱动器(Tebibyte)之间的差异比2 T或2 TiB驱动器要小199,023,255,552字节,这是非常大的差异,并且差异较小略高于185 G或GiB(Gibibytes),这是大多数人在错误地说“ Gigabyte”时经常讽刺的想法。

这是计算机世界中称为FYI的怪异的副出租人之一,这是一个很好的注脚,它可以解释当今许多人通常完全不知道的一些奇怪的差异。

许多人在实际想到单位“ Kibibyte”(1024)时会想到并说出“ Kilobyte”(1000)这个名称,随着人们互换地写简写,这变得更加令人困惑,但这是不正确的,现代Kilobyte应该是如前所述,在任何文档或程序中的任何地方都不应标记为“ KB”,且不应为“ K”或“ KiB”,实际上是指Kibibyte(1024)。

速记名称K(1024)和KB(1000)不再相同,对于Kibibyte,可以使用K或KiB,但不能使用KB。

这是你的大脑,这是你在千字节上的大脑-炸了吗?

大声笑


“在1998年之前,千字节表示1024字节,并被指定为K或KB。” 那是个神话。例如,Shugart SA 400持有109,375字节,并于1976年被销售为“ 109.4 KB”。CDC 9746可容纳60,000,000字节,在1974
。– endolith
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.