IPv6バイナリ変換
IPv6バイナリ変換では、IPv6アドレスを構成するすべてのビットを確認できます。2001:db8::1のような圧縮表記、完全展開表記、またはIPv4を埋め込んだ有効なIPv6アドレスを入力してください。8個のヘクステットをすべて展開し、それぞれを先頭のゼロを保った正確な16桁の2進数へ変換します。空白で区切った読みやすい表現と、連続した128ビット値の両方を取得できるため、ネットワーク学習、プレフィックス比較、サブネット演習、技術文書、手計算を使わない厳密な確認に役立ちます。
無料で実行
16進数のIPv6が128ビットの2進数になる仕組み
IPv6アドレスは、8個のヘクステットに分かれた128ビットで構成されます。各ヘクステットは4桁の16進数を持ち、16進数の1桁は正確に4桁の2進数へ対応します。そのため、1個の完全なヘクステットは16ビット幅であり、8個を合わせると正確に128ビットになります。本変換ツールは、最初に入力を4文字ずつの16進数グループ8個へ展開し、次に先頭のゼロを残したまま各グループを個別に変換します。たとえば、ヘクステット0001は1ではなく0000000000000001になります。アドレス内ではビットの位置に意味があるため、この固定幅は不可欠です。binary_groupsフィールドには16ビットの文字列が8個入り、binaryでは読みやすいように空白で連結されます。binary_128では区切りを除き、ソフトウェアや演習で使える1本の連続文字列を返します。展開済みアドレスとhextetsを参照すれば、各2進数グループを元の16進数へ対応付けられ、変換結果を明確に検証できます。
結果を使ってプレフィックスとマスクを理解する方法
IPv6プレフィックスは、128ビットアドレスの左端から指定された数のビットを選びます。/32は最初の2個の2進数ヘクステット、/48は最初の3個、/64は最初の4個を選択します。16の倍数ではない長さはヘクステットの途中で終わるため、完全な2進数表示が特に役立ちます。たとえば/52のネットワーク部分は、完全な3個のヘクステットと、4個目の先頭4ビットで構成されます。2つの変換結果を並べ、左から数えると、ネットワークビットが一致する位置と異なる位置を正確に確認できます。本ツールが行うのは変換だけであり、CIDRマスクの適用や、2つのアドレスが同じネットワークに属するという判定は行いません。この分離により、学習時には境界をご自身で記入できます。本番環境で所属判定を行う場合は、専用のプレフィックス確認ツールをご利用ください。厳密に数える際はbinary_128をお使いください。binary内の空白は見やすくするための区切りであり、ビットとして数えません。
使用できる表記、正規化、入力エラー
標準的な圧縮IPv6表記、完全展開表記、またはドット区切り10進数のIPv4末尾を埋め込んだIPv6アドレスを入力できます。二重コロンは1個以上連続するゼロのヘクステットを置き換えられ、各ヘクステットの先頭のゼロは省略できます。本ツールは2進数を生成する前に、受け付けた表記を小文字の8個のヘクステットへ正規化します。厳密な検証により、もっともらしく見える誤った結果を防ぎます。二重コロンの複数使用、グループ数の過不足、5文字以上の16進数グループ、16進数以外の文字、無効なIPv4オクテットは拒否されます。IPv4だけのアドレスを暗黙にIPv6として扱うこともありません。/64などのCIDR接尾辞はネットワーク式を表すため、アドレス変換を目的とする本機能では受け付けません。%eth0などのゾーン識別子もローカルインターフェースのスコープを示す情報であり、128個のアドレスビットには含まれません。エラー時は構文を修正して再送信してください。IPv6の圧縮規則を超えて不足部分を推測することはありません。
活用例
IPv6プレフィックス境界の学習
/48、/56、/64、またはヘクステット境界に揃わないマスクが選ぶ上位ビットを正確に示します。
ネットワークビットの比較
2本の完全なビット列を並べ、最初に異なる位置を見つけて共通プレフィックスを確認します。
技術文書の作成
サブネット設計、実習ノート、障害調査記録に、検証可能な展開表現と2進数表現を追加します。
よくある質問
1回の変換料金はいくらですか?
APIリクエスト1件の料金は$0.002です。同じ決定的な変換をブラウザーでは無料でご利用いただけます。
出力は常に128ビットですか?
はい。各ヘクステットは16ビットまでゼロ埋めされ、binary_128には常に正確に128桁の2進数が入ります。
圧縮IPv6アドレスを入力できますか?
はい。二重コロンによる標準圧縮と省略された先頭のゼロは、変換前に完全に展開されます。
2進数の結果に空白があるのはなぜですか?
8個の16ビットヘクステットを読みやすく区切るためです。連続値が必要な場合はbinary_128をご利用ください。
/64付きのアドレスを変換できますか?
いいえ。IPv6アドレスだけを入力してください。CIDR接尾辞はプレフィックスを表し、本変換の対象外です。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/dev/ipv6-to-binary \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"address":"2001:db8::1"}'const res = await fetch("https://api.kit.forhosting.com/dev/ipv6-to-binary", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"address": "2001:db8::1"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/ipv6-to-binary",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"address": "2001:db8::1"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/ipv6-to-binary", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"address":"2001:db8::1"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"address":"2001:db8::1"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/ipv6-to-binary", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"address": "2001:db8::1"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.ipv6_to_binary",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |