データ容量の単位変換:バイト、KB、MB、GB、TB
1 KBは1000バイトですが、1 KiBは1024バイトで、この差はTBまで単位が上がるほど広がります。元の単位と変換先を選ぶと、計算途中の正確なバイト数も表示されます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 値
- 1.5
- 開始
- GB
- To
- MiB
- 結果
- 1,430.5114746094
- バイト
- 1,500,000,000
データ容量を、バイトとよく使われる10進または2進の記憶容量単位との間で変換します。0以上の値を入力し、変換元の単位と変換先の単位を選んでください。10進のKB、MB、GB、TBは1000の累乗、2進のKiB、MiB、GiB、TiBは1024の累乗に基づきます。結果には途中のバイト数も含まれるため、どの変換も確認や再現がしやすく、テストや自動化した作業にもそのまま使えます。
10進単位と2進単位を正しく選ぶ
記憶容量の単位記号はよく似ていますが、定義を互いに置き換えることはできません。10進単位は1000の累乗を使います。1 KBは1,000バイト、1 MBは1,000,000バイト、1 GBは1,000,000,000バイト、1 TBは1,000,000,000,000バイトです。
2進単位は1024の累乗を使います。1 KiBは1,024バイト、1 MiBは1,048,576バイト、1 GiBは1,073,741,824バイト、1 TiBは1,099,511,627,776バイトです。値がすでに正確なバイト数で表されている場合は、Bまたはbytesを選んでください。
ディスクのメーカー、通信プラン、クラウドサービス、ファイル形式の仕様がSIの10進表記に明示的に従っている場合は、KBからTBまでの単位を使います。ソフトウェアがIECの2進単位で表示している場合や、メモリの計算が2の累乗に基づいている場合は、KiBからTiBまでの単位を使います。
単位が大きくなるほど差は目立つため、値をそのまま写して記号だけを書き換えると、大きな誤差が生じることがあります。この変換ツールはどの記号も明示的に扱い、MBをMiBのことだと勝手に推測することはありません。元の測定値に合った記号を選び、次に、受け取る側の文書、アプリケーション、比較対象が必要とする単位を選んでください。
対応していない綴りや単位を指定すると、近似値や誤解を招く結果ではなく、エラーが返ります。
変換の計算方法を理解する
どの変換も、同じわかりやすい2段階の計算に従います。まず、入力した値に変換元の単位の固定バイト係数を掛けます。次に、そのバイト数の合計を変換先の単位の固定バイト係数で割ります。
たとえば1.5 GBをMiBに変換する場合は、まず1,500,000,000バイトを求め、その量を1,048,576で割ります。バイトを共通の橋渡しにすることで、特別な場合ごとの式が増え続けるのを避けられ、GBからMiBへの変換も、GBからバイトへの変換とまったく同じ定義に従うことが保証されます。
返される結果には、正規化された変換元と変換先の記号、元の値、途中のバイト数、変換後の値が含まれます。そのため計算の過程を一つずつ確かめることができ、ソフトウェアのテストにも使いやすくなっています。計算には固定の表と安定した数値の正規化を使います。
ネットワークへのアクセス、現在の日付、乱数、メーカー独自の対応表、前回の利用から保存されたデータは一切使いません。
元の意味を失わずに変換結果を活用する
変換した数値は、元の表記規則がはっきりわかるときに最も役立ちます。広告されているドライブの容量とOSの表示を比べるときは、元の10進の値と2進への変換結果の両方を残しておくと、数値が異なる理由を読み手が理解できます。
アップロードの上限、キャッシュのサイズ、バックアップの容量枠、ログローテーションのしきい値をそろえるときは、「メガバイト」のようにシステムによって解釈が分かれる表記に頼らず、数値の横に正規の単位を記録してください。返されるバイト数はサービス間で受け渡す中立的な値として使え、変換結果は求められた表示単位で示されます。
文書に記載するときは、判断に必要な有効桁数を含めつつ、丸めた表示が元の測定値より精密であるかのような印象を与えないよう注意してください。ブラウザでの対話的な利用は、自動化の前に手早く確認するのに便利です。ファイルシステムのオーバーヘッド、圧縮、転送時間、フォーマット後のディスク容量、冗長化、予約ブロック、実際に使える容量は推定しません。
これらはシステムのほかの条件によって変わるためです。指定された量を、正確なSIとIECの係数に従って変換するだけです。こうした限定された動作だからこそ、表計算、サポートでの回答、購入時の比較、設定の移行、さらに独自の係数表を管理せずに確定的な記憶容量の単位変換を必要とするコードで、安心して使えます。
活用例
広告上の容量と表示される容量を比べる
ディスクとシステムの表示の違いを説明する前に、10進のGBやTBの値を2進のGiBやTiBに変換します。
アプリケーションの上限をそろえる
ファイル、キャッシュ、バックアップ、アップロードの上限を、バイトまたは複数のサービスで共通に使う正規の単位に変換します。
確定的なテストデータを作る
パーサー、フォーマッター、課金ルール、ストレージ設定のテストに使う、再現可能な期待値を用意します。
よくある質問
1 KBは1000バイトですか、それとも1024バイトですか?
ここではKBはちょうど1000バイトです。ちょうど1024バイトにしたい場合はKiBを使ってください。
どの単位に対応していますか?
Bまたはbytes、10進のKB、MB、GB、TB、2進のKiB、MiB、GiB、TiBに対応しています。
結果にはファイルシステムのオーバーヘッドが反映されますか?
いいえ。 単位の計算だけを行い、フォーマット、メタデータ、冗長化、圧縮、予約容量は推定しません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/misc2/data-storage-unit-convert \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":1.5,"from":"GB","to":"MiB"}'const res = await fetch("https://api.kit.forhosting.com/misc2/data-storage-unit-convert", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": 1.5,
"from": "GB",
"to": "MiB"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/misc2/data-storage-unit-convert",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": 1.5,
"from": "GB",
"to": "MiB"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/misc2/data-storage-unit-convert", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":1.5,"from":"GB","to":"MiB"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":1.5,"from":"GB","to":"MiB"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/misc2/data-storage-unit-convert", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"value": 1.5,
"from": "GB",
"to": "MiB"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "misc2.data_storage_unit_convert",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
変換の計算方法を理解する
値は有限で0以上のJSON数値である必要があり、値の欠落、数値の代わりに入力された文字列、負のサイズ、無限大、対応していない単位名は受け付けません。したがって同じ入力からは常に同じJSONの結果が得られ、繰り返し実行するスクリプト、授業の演習、検証ルール、継続的インテグレーション用のテストデータに役立ちます。
元の意味を失わずに変換結果を活用する
この機能は1リクエストにつき1回の変換を行い、API経由で呼び出すと$0.002かかります。
技術的な質問
対応していない単位を指定するとどうなりますか。
invalid_inputエラーが返され、使用できる単位記号の一覧が示されます。
小数を含むサイズも変換できますか。
はい。有限で0以上のJSON数値であれば、小数を含む値も受け付けます。