kB を B に変換

kB
1000B

1 kB = 1000 B

値を入力すると、キロバイトからバイトへの計算が入力に合わせてその場で進みます。1 kB あたり 1000 B.この比は測って求めたものではなく、定義で決まっています。計算はお使いの端末の中で行われ、入力した数字が通信に乗ることはありません。ただし、そのまわりのページのほうは、ほかのどのページとも同じように広告を読み込みます。

  • 処理される場所 ブラウザーの中です。入力した数値がリクエストに含まれることはありません。
  • 定義として厳密 1kBはちょうど1000Bです。丸めた係数ではなく、定義です。
  • 入力と同時に答えが出ます ボタンも待ち時間もありません。計算例はスクリプトが動く前からページに載っています。

キロバイトからバイトへ — 実際のところ

  • 500 kB is 500000 B

    — 軽いウェブページ 1 枚.

  • 64 kB is 64000 B

    — 長めのメール 1 通.

  • 5000 kB is 5000000 B

    — スマートフォンで撮った写真 1 枚.

  • 1.024 kB is 1024 B

    — 1 キビバイト、ややこしさはここから始まる.

キロバイトからバイトへ — 要点

ここに並ぶ数値は、上の計算機と同じ定義から計算しています。だから表が答えとずれることはありません。
kBB
11000
22000
55000
1010000
5050000
100100000
500500000
10001000000

キロバイトとバイト

1 キロバイトは、標準化団体が定義すれば 1,000 バイトで、OS が定義すれば 1,024 バイトです。このページは 1,000 で計算します。1,024 のほうはキビバイトという名前を持っています。

1 バイトは 8 ビットですが、いつもそう決まっていたわけではありません。初期の計算機は 6 ビット、7 ビット、9 ビットを使っていました。8 が勝ったのは、そこに 1 文字が収まり、しかもその数がきれいに半分ずつ割れるからです。

ここで動くのは小数点だけです

キロバイトからバイトへ移ると、小数点が右へ 3 桁ずれます。ほかには何も変わりません。覚えておく倍率もなければ、丸め方を決める必要もありません。数字は同じ並びのまま、位置だけが動きます。

1,234 kB は 1234000 B——同じ数字が、ずれただけです。ひと目で検算できる数少ない計算がこれです。結果の数字が始めたときの数字と違っていたら、それを変えたのはこの計算ではありません。

小数点を 3 桁動かすだけ、そして 2.4 パーセントの議論

10 進法ではこの換算はデータ単位の中でいちばん単純です。キロは 10³ なので、1 キロバイトは 1,000 バイトで、47 kB は 47,000 バイトです。これは接頭辞の SI 上の意味であり、あらゆるネットワーク規格が使う意味であり、ストレージが売られる容量の背後にある意味でもあります。桁はそのままで、小数点だけが動きます。

2 進法の読み方だと 1,024 バイトになり、これは正式にはキビバイト、KiB と呼ばれます。両者は 2.4 パーセントしか離れておらず、これは 10 進法と 2 進法のペアの中でいちばん狭い差です。メガでは 4.9 パーセント、ギガでは 7.4 パーセント、テラでは 10 パーセントに広がります。この狭さこそが、キロバイトの水準でこのあいまいさがいちばん長く生き延びてきた理由です。この規模では違いが人の目に留まるほど大きくならないからです。

kB と kb——本当の誤りはここにある

大文字と小文字ひとつの違いのほうが、1,000 対 1,024 という問題全体より 8 倍高くつきます。B はバイト、b はビットで、1 バイトは 8 ビットなので、1 kB は 8 kb、100 kB は 800 kb です。ファイルやメモリー、ストレージはバイトで数え、回線速度やビットレート、秒あたりの伝送量はビットで数えるという昔からの慣習があります。

実務上の帰結は、秒あたりを表す数字は 8 で割ってからファイルと比べる必要があるということです。256 kbit/s の音声ストリームは毎秒 32 kB で、1 時間で 115 MB になります。64 kbit/s の回線は毎秒 8 kB を運びます。これをバイトとして読んでしまうと、実際の転送速度を 8 倍過大に見積もってしまい、成り立たない計画を組んでしまいます。

ウェブのパフォーマンス予算は kB、実測は bytes

この換算にほぼ毎日出会う場面は、ウェブのパフォーマンス予算です。JavaScript や CSS、ページ全体の重さについて何キロバイトという上限を決め、ツールがバイトで報告する転送サイズと照合します。こうした予算は 10 進法です。人が選ぶ丸い数字であり、10 進法を使うネットワーク計測と比較されるからです。170 kB のスクリプト予算は 170,000 バイトを意味します。

割る数字より重要なのは、どのサイズを測っているかです。予算に対してカウントすべきなのは圧縮後の転送サイズです。それがネットワークを通過する量だからで、JavaScript の場合これはディスク上のファイルのおよそ 3 分の 1 になるのが一般的です。非圧縮で 520,000 バイトのバンドルが、brotli 圧縮後は 160,000 バイトになり、170 kB の予算を余裕でクリアすることもあります。非圧縮の数字と予算を比較することは、そもそも比較になっていません。

小さな数字が実際に住んでいる境界

1 メガバイトを下回る規模では、すべてを決めているのは 10 のべき乗ではなく 2 のべき乗です。ディスクセクターは 512 バイトか 4,096 バイト、メモリーページはほぼどの現行システムでも 4,096、ファイルシステムのブロックもたいてい 4,096、ふつうのイーサネット上の TCP セグメントはおよそ 1,460 バイトのペイロードを運びます。これらはどちらの体系でも丸いキロバイト数にならず、どれも単位換算では決まらない振る舞いを決めています。

1 KB のファイルが 4,096 バイトを占め、5 KB のファイルが 8,192 バイトを占めるのはこのためです。バッファーサイズが 4,000 や 50,000 ではなく 4,096、8,192、65,536 に選ばれるのも同じ理由です。ページやブロックに揃えたバッファーは整数単位で動きますが、揃っていないものは 2 つにまたがってしまいます。この規模で役立つ考え方は「どちらのキロバイトか」ではなく「どの境界に近いか」です。

バイト単位の上限は文字数を数えているわけではない

テキストに対してキロバイトで示された上限は、バイト単位の上限であり、UTF-8 は 1 文字あたり 1 バイトで済むとは限りません。純粋な ASCII なら 1 バイトで済みますが、アクセント付きのラテン文字やギリシャ文字、キリル文字は 2 バイト、多くの CJK 文字は 3 バイト、絵文字や多くの記号は 4 バイトかかります。2 KB のフィールドは英語の文字なら 2,000 文字入りますが、アクセントを残したフランス語ならおよそ 1,900 文字、絵文字なら 500 個です。

この違いが表面化するのは、上限が宣言された場所とは別の場所で強制される場合です。データベースの列は文字数で宣言されているのに、その先にある索引やプロトコルのフィールド、クッキーの上限はバイト数で数えられていて、片方の基準では収まる値がもう片方では拒否されることがあります。バイト単位で計測された上限に対しては、それより先のすべても同様にバイトで数えていると考えるのが安全です。

何かがどのキロバイトを意味しているか確かめる

ひとつの検証で決着します。ちょうど 1,024 バイトの値を用意してください。あるツールがそれを 1.02 kB と報告すれば 10 進法であり、1.0 KB と報告すればキビバイトで数えていて表記が何であってもそうです。Unix では du と df は既定で 2 進法で、フラグを付ければ 10 進法に切り替えられます。ブラウザーのネットワークパネルとほとんどのウェブパフォーマンスツールは 10 進法で、転送速度の表示方法と一致しています。

比較している 2 つの数字がおよそ 2.4 パーセントずれていて他に説明がつかなければ、割る数字の違いが原因です。小さいファイルで 4 倍ずれているならブロック割り当てが理由です。およそ 3 対 1 でずれているなら片方が圧縮済みで片方がそうでないということです。この 3 つの確認だけで、キロバイトの規模で起きるほぼすべての食い違いが説明でき、この順番で確かめる価値があります。

kB を B に変換:よくある質問

1 kB は何 B ですか。

1 kB は 1000 B.画面に出しているのは有効数字 12 桁までです。キロバイトとバイトの比そのものは定義によって決まっている厳密な値で、丸めが入るのは表示のところだけです。

入力した値はどこかへ送られますか。

いいえ。計算はブラウザーの中で行われます。通信を切ったままでも計算は続けられますし、それがいちばん手軽な確かめ方でもあります。

買ったディスクの容量が、書いてある数より少なく表示されるのはなぜですか。

同じ名前の単位が 2 つ動いているからです。メーカーは 1 GB を 1,000,000,000 バイト(10 億バイト)として数えます。一方 Windows が表示しているのはギビバイト、つまり 1,073,741,824 バイトで、それを「GB」と呼んでいます。同じディスクが 7 パーセントほど小さく見えるのはこのためです。消えたものは何もありません。

逆方向:バイトからキロバイトへ

1Bは0.001kBです。同じ関係を逆から読んだだけなので、一方のページの答えをもう一方に通せば、必ず元の値に戻ります。

この数値の出典

このページがデータ量の単位について述べていることは検証できます。根拠となる資料は次のとおりです。

このページの仕組み

係数はページ内の定数で、計算は四則演算だけです。だからどこにも送信されませんし、送信する必要もありません。入力した数値はブラウザーから出ません。運ぶためのリクエストが存在しないからです。