> encode | decode | hex <

// バイナリデータ表現のための Base16(16進数)エンコーディング

[SIMPLE]

かんたん操作

Base16 のエンコード/デコードをすぐに実行できるシンプルな UI。専門知識は不要です。

[SECURE]

ローカル処理

すべての変換はブラウザ内で行われます。データが端末外へ送信されることはありません。

[FAST]

即時結果

待ち時間なしのリアルタイム変換。デバッグや開発に最適。

>> 技術情報

Base16 の仕組み:

Base16(16 進数)は 16 種類の文字(0-9, A-F)でバイナリデータを表現します。1 バイトは 2 桁の 16 進数で表されます。

例:

"Hello" → 48656C6C6F

Base16 を使う理由:

  • >コンパクトなバイナリ表現
  • >人に読みやすい形式
  • >プログラミング/デバッグの標準
  • >特殊文字が不要
  • >幅広い環境での互換性

>> よくある質問

Base16 エンコードとは?

Base16(16 進数)は、16 の記号(0-9 と A-F)でバイナリデータを人間に読みやすい形で表現する方式です。

Base16 はいつ使う?

色コード、メモリアドレス、バイナリの表示やデバッグなどに最適です。プログラミングやシステム運用で一般的です。

Base16 と 16 進数は同じ?

はい、同じです。「16 進数」という名称がより一般的です。

どんな Base16 文字列でもデコードできる?

0-9 と A-F(大文字/小文字は不問)のみで構成された有効な文字列であれば可能です。無効な文字があるとエラーになります。

// Base16の比較

エンコーディング1文字あたりのビット数サイズの増加
Base164100%
Base32560%
Base64633%

// コードでのBase16

Linux/macOS  echo -n Hello | xxd -p          # 48656c6c6f
             echo 48656c6c6f | xxd -r -p      # Hello
Python       'Hello'.encode().hex()           # '48656c6c6f'
             bytes.fromhex('48656c6c6f')
Node.js      Buffer.from('Hello').toString('hex')
             Buffer.from('48656c6c6f', 'hex').toString()

>> その他の質問

Q: Base16でデータサイズが2倍になるのはなぜですか?

A: 1バイトが2文字になるため、オーバーヘッドは100%です。Base64は約33%で済みますが、Base16は読みやすくデバッグしやすいのが利点です。

Q: Base16と、0xや空白付きの16進文字列の違いは?

A: RFC 4648のBase16は、0〜9とA〜Fだけの並びで、接頭辞も区切りもありません。0x やバイト間の空白は表示上の慣習なので、デコード前に取り除いてください。

Q: 有効なBase16文字列の長さが偶数でなければならないのはなぜですか?

A: 1バイトは必ず2桁です。奇数長は文字が欠けているか、先頭の0が省かれている(例:0F ではなく F)ことを意味します。