web-dev-qa-db-ja.com

ファイルサイズ単位:「KiB」対「KB」対「kB」

特定のファイルのサイズを表示するWebアプリに取り組んでいますが、バイト単位を報告する方法についてコンセンサスがあるかどうか疑問に思っています。技術的には IECは公式の基準を考慮しています ですが、それだけの価値があるかどうかはわかりません。

いくつかのオプション:

  • 「1 KB」は1024バイトを意味します(Windowsが報告するように、従来の使用法)
  • 「1 kB」は1000バイトを意味します(Mac OSが報告するように、IEC使用法)
  • 「1 KiB」は1024バイトを意味します(明確ですが、おそらくなじみのない用語です)

KBの範囲のファイルについては2.4%の違いだけを話しているため、それほど大きな問題ではありませんが、MBの場合の違いは〜5%で、GBの場合は〜8%です。

66
Hank

キロバイトとは何か、それをどのように表現するかについての認識には、多くの問題が関係しています。

IEC標準名は役に立たない:As Jeff Atwood notes 業界は存在しないKiB/MiB/GiBの受け入れ。1000バイトの定義を使用しているのはハードドライブメーカーとMacだけであり、ハードドライブメーカーはKiBとKBを区別するインセンティブがないため、ドライブの音が小さくなります。MacとWindowsにはインセンティブがありません。 KiBを使用するのは、ユーザーにとって不必要な複雑さであるためです。定義が作成されてから12年が経過しており、すぐには採用されないことに注意してください。

WindowsとMac:Macは(キロバイトは)異なると考えています。 OSを検出する可能性がある場合は、ユーザーのOSと同じようにキロバイトを表示します。できない場合は、1024バイトの定義が常に適切なフォールバックであり、 一般ユーザーの70%がWindowsを使用している であることがわかります。もちろん、ターゲット市場は異なる場合があります。

スケール:バイナリプレフィックスとSIプレフィックスの問題は、数値が大きくなると、値の違いも大きくなることです。ギガバイトの範囲に入ると、GBとGiB=の違いはかなり大きくなります。多くのWindowsユーザーは、1テラバイトのハードドライブがWindowsで932ギガバイトしかないことに気付かず、とても落胆しています。私の経験では、それらのほとんどは、ハードドライブの製造元ではなくWindowsが正しいことを前提としています-そして彼らはポイントを持っています、それはハードドライブの製造元の利点であるキロバイト。

エンタープライズユーザーまたはテクニカルユーザーは特殊なケースです。アプリがサーバーファームでのディスクまたはデータベースの使用状況を測定している場合、GBの8%の違いは非常に大きく、KiBオプションを含めても、ユーザーがキロバイトの表示方法を指定できるようにする必要があります。これらはおそらく、差別化するのに十分気にする唯一のユーザーです。

最後に、人々が本当にすべての人が心の中で1000バイトはキロバイトであると思っていると仮定します。彼らは自分のOSが報告するものからファイルサイズを知っているため手動でバイトを数えることからではなく、珍しい1000バイトのカウントを使用すると不必要な複雑さが追加され、アプリはコンピュータの言うことと矛盾するので、間違って見えます。 OSから通知されるため、ユーザーはファイルの大きさしか知りません

63
Ben Brocka

古い(現在は削除されています) Stack Overflowの質問 はこれを正確にカバーしていました。コンセンサスは:

  • 1 kB = 1000バイト
  • 1 KiB = 1024バイト

このソースは SIユニットのNISTリファレンス でした。

より技術的に正しいKiBを使用します。つまり、バイト数を1024で除算し、KiBを単位として表示します。ユーザーが誤って「20 KiB」が20,480ではなく20,000バイトであると考えるのは重要ではないでしょうか。

17
DisgruntledGoat

kilo-が慣れている他のすべてのコンテキストでそれが意味するので、技術者でない人にキロバイトのバイト数を尋ねると、「1,000」と表示されます。 1,000グラムは1キログラム、1,000メートルは1キロメートルなどです。したがって、「1024」を意味する場合に「k」と書いてユーザーを誤解させないでください。

ほとんどの場合、とにかく1024の倍数を使用する理由はありません。ユーザーはプログラマーではなく、ファイルサイズは2の累乗とはまったく関係のない任意の数値です。SI標準に従って、10,000文字を記述するのはより論理的ですASCIIテキストファイルを "10.0 "9.7KB"ではなくkB。160,041,885,696バイトのハードドライブを、ある場所では "149.1 GB"、別の場所では "152,628 MB"ではなく、 "160.0 GB"または "160,042 MB"と表現する方がはるかに論理的です。方法OS XとUbuntuがファイルサイズを1000の倍数で測定するのはこのためです。

非標準のプログラマの専門用語ユニットを使用すると、4.7 GBのDVDに4.7 "GB"を書き込むことができない、1 GBのフラッシュドライブに100×10 "MB"のファイルを収めることができないなど、ユーザーを混乱させます。

2の累乗が実際に有効である1つのケース(RAMサイズ)では、「KiB」を使用します。それは国際標準であり、それを知らない人は誰でも簡単に調べることができます。

7
endolith

1000にはkを使用し、1024にはKiを使用する必要がある理由。

「ユーザーの購入テスト」と呼ぶレビュアーが外部ストレージドライブを分析しました。テスト全体を通じて、すべてのドライブに「60 GBの予約済み、ユーザー使用不可スペース」(1)があり、正確な値がドライブごとの表にリストされているため、読者が最良の購入を行えると述べています。

主張されている違いは、実際には1.024 ^ 3×ディスクサイズであることがわかります。これは、これらのテスターが、パーティションの測定に使用するGiBとディスクサイズの測定に使用するGBの違いを知らないためです。PDFと呼ばれる石で誰もが見ることができるように、その愚かさを刻んでいます。

KiBは、気まぐれのため​​ではなく、その方法で測定される数量とkB方式で測定される数量があり、「時速1000キロの倍数」や「1024キロバイトの倍数」と言っても不都合なために導入されました。別の例として、Kbps = 1024 Bps(バイト/秒)といえば、通信速度(誤って呼び出し速度がいくつあるか)はkbps = 1000 bps(ビット/秒)で測定され、KiBpsである必要があります。 kbpsを取得するためにKiBpsを8倍することはありません。
一部の人が通信速度kbpsが1024の代わりに1000の倍数であることに気付かなかった理由は、彼らがコンピューターサイエンスで1024にkを使用するためです。

したがって、KiBは、ペダントリーなどの問題ではなく、人が話していることを正確に知るだけです。そして、この議論でその二重性についてほとんど言及されていないことに驚いています。

実際、実際には通常KiBを扱っており、「1024バイトの単位」について説明する必要はありませんが、使用されているもののために最も使用されているものに「i」を追加するのは負担のようです。少なくとも。しかし、ディスクフォーマットプログラムがGB/GiBを区別せずにその数を表示するにはどうすればよいでしょうか?ディスクサイズの混乱の厄介な点は、ドライブサイズを過大評価していると非難されているドライブメーカーは、GB単位の国際単位乗数Gigaを正しく使用しているメーカーであり、GiBを使用していないのは他のベンダーであるということです。実際には、メートル法に切り替えるよりもはるかに簡単です。

私が気づいたのは、GB/GiBの区別を使用すると、それらについての記述がすでにはるかに簡単になるということです。

(1)そのスペースが何のために使用できるのかさえ疑問に思わない;実際、ドライブの製造元はディスクサイズ(GB単位または長いフレーズを好む場合は1000000000バイト単位)に非常に注意を払っているため、障害のある通常のセクターのデータを保持するために使用されるスペアセクターは、正確なバイトカウントよりも多くなります。

7
Papou

設定パネルからカスタマイズ可能にします。おそらく、デフォルト設定としてKBを1024として使用します。ベンブロッカが言ったように、KiBはほとんど知られていません。

さらに、実際のサイズをツールチップで表示します。

省略されたラベル:42 KB

ツールチップ:43.212バイト

6
neoneye

1kBは1000バイト(Decimal、つまり10^3はキロです)
1KB/KiBは1024バイト(Binaryすなわち2^10
1[〜#〜] b [〜#〜]= 8ビット

この混乱に対処するために、1024バイトはkibibyte(つまり、キロバイナリバイト)または1KiB

Google単位変換enter image description here参照

4
Premraj

これは複雑ではありません。私のコンピューターに両方のサイズをリストし、不可解な略語を使用する代わりに完全なWordで名前を表示します。 KBとkBは同じことで簡単に混同されます。これは数学とは関係がなく、言語です。彼らは正しく話しません。ルーラーでcmをリストできる場合は、コンピューター画面でそれを行うことができます。組み合わせルーラーを使用してそれを読み取ることができる場合は、リストされている両方のサイズを読み取って、指標yoを選択できます。

誰かの好みを仮定してそれらのために選択しないでください。それらを1つのメトリックに慣れさせないでください。次に、2つのメトリックを絶えず交換することで、そのメトリックを理解したら、切り替えて餌を与えてください。

0
Joseph Malone