kB, KB, KiBの違いと使い分け方
2024/12/03
masyus
概要
業務にてデータ量を単位で取り扱う際、キロバイトの単位表記が
- 10の3乗(1,000倍)
- 2の10乗(1,024倍)
のどちらを意味しているのかが混乱したことがありましたため、備忘録を兼ねて記事に残します。基本的にバイトはコンピュータにおける2進数の世界でよく扱われる単位のため、常に2の10乗で扱いたいところですが、実際のところはどうなのでしょうか。
調査結果
先に結論を述べますと、
- kB: 10の3乗(国際規格)
- KB: 2の10乗?(俗習表記)
- KiB: 2の10乗(国際規格)
となります。キロバイトといえば一般的にKB
が用いられますが、KB
は2の10乗として扱われることが多いです。
敢えて「多い」と表現したのは、KB
は国際規格で定められていない俗習に従った表記であるからです。つまりKB
と表記した場合、それが2の10乗として国際的に定義された表記ではないため、人によってKB
の解釈が異なった時に
「KB
は2の10乗である」と断言できない
という問題があります。また、大文字K
は熱力学温度の単位であるケルビンの記号でもあるため、その意味でも語弊が生じます。
国際規格に則って2の10乗を正しく表記するには?
KB
ではなく2進接頭辞として定められたKiB
(キビバイト)を用いるのが適切です。
ちなみにkB
のk
は、国際単位系(SI)のSI接頭語として10の3乗の意味で取り扱うことが定められており、kB
が2の10乗を表すことがない点は注意です。
パブリッククラウドにおけるデータ量表記は2進接頭辞が一般的
KiB
やMiB
(メビバイト)は、AWSやGoogle Cloudのようなパブリッククラウドにおけるストレージ容量の単位でよく取り扱われます。これは2進接頭辞が国際規格に則っているからだと思われます。
なぜSI接頭語ではキロが小文字のk
なのか?
WikipediaによりますとSI接頭語では倍量の表記に大文字を用いるルールがありますが、キロは
そのルールが策定される以前から小文字のk
を使うと定義されていたから
のようです。つまり歴史的経緯によるものということですね。
参考までにメガバイトの場合はどうなるのか?
SI接頭語によると、10の6乗をM
として表記します。メガ以上の記号は全て大文字になり、キロのような俗語が存在しませんが、逆に考えると国際規格に則ってMB
とMiB
を完全に使い分けることが可能となります(ちなみにSI接頭語ではm
もありますが、こちらはミリ(10の-3乗)を表すため明確に意味が異なります)。
あとがき
あちこちのサイトでkB
とKB
の指数表記が間違った解釈で使われているため、Webで検索してもなかなか正解に辿り着きづらく困りましたが、キロには俗習表記が存在するというのが紛らわしいポイントでした。他方、パブリッククラウドの世界で2進接頭辞がよく使われる背景も納得がいきました。