01 / 例
例
こんにちは、世界!4OAZHY4CSPRYDK7DQGQ6HANP4OAIDZFYS3TZLDHPXSAQ====テキストとコード / MULTIVERTO
Base32 は RFC 4648 の文字 A-Z と数字 2-7 を使って UTF-8 ビットを 5 ビット記号にグループ化します。ブラウザでローカルに変換します。
01 / 例
こんにちは、世界!4OAZHY4CSPRYDK7DQGQ6HANP4OAIDZFYS3TZLDHPXSAQ====02 / ガイド
Base32 は、RFC 4648 で定められた A–Z の文字と 2–7 の数字を使い、UTF-8 のビット列を五ビットずつの記号へまとめます。変換はブラウザー内で行われます。入力「こんにちは、世界!」から「4OAZHY4CSPRYDK7DQGQ6HANP4OAIDZFYS3TZLDHPXSAQ====」が得られます。具体的には、入力テキストの UTF-8 バイト列を五ビットの組に分け、RFC 4648 のアルファベットで表示します。末尾の等号は最後の八文字のブロックを完成させるためのパディングです。受け取り側がパディング付きの入力を要求するなら、その等号を残してください。
Base32 は RFC 4648 で規定されています。出力の 8 文字が表す入力は最大 5 バイトで、最後のブロックでは 8 文字にそろえるため = のパディングを使う場合があります。アルファベットは大文字の A~Z と数字の 2~7 です。任意の 32 進整数や、名前の似た Crockford 方式のアルファベットとは異なります。エンコードでは入力された Unicode テキストを最初に UTF-8 バイトへ変えます。デコードではビットの組を元に戻し、得られた UTF-8 が有効か検証します。入力ではパディングを省略できますが、あり得ない長さや未使用ビットがゼロ以外の場合は拒否します。大文字と小文字を区別せず印字できる記号をプロトコルが求める場合に便利ですが、文字数は増え、整合性の検査機能もありません。Base32 は UTF-8 のビットを 5 ビットの記号に分け、RFC 4648 の A~Z と 2~7 で表します。Base32 の識別子を別のシステムに送る前に、相手が RFC 4648 のアルファベットとパディング付きブロックを求めるか判断してください。
このエンコーダーは大文字を出力し、必要なら最後の 8 文字のまとまりを = で埋めます。等号はメッセージのバイトを増やしませんが、厳密な受け取り側では取り除くと規則違反になることがあります。アクセント付きの短い語でも試してください。Base32 の長さは見える文字数ではなく UTF-8 のバイト数に左右されます。正確に比較できるよう元のテキストも残しましょう。
Base32は元に戻せるエンコード方式であり、暗号化ではありません。このエンコーダーはRFC 4648の文字集合を使い、最後の8文字単位を満たすために=のパディングを追加します。内容を秘密にする機能はありません。検証するときは、UTF-8のバイト列を別途確認できる短いテキストから始めてください。入力5バイトをBase32の8文字で表せます。最後のブロックが不完全ならパディングが付くため、文字数が増えるのは自然です。対応するデコーダーで出力を戻し、復元したテキストとバイト数を元データと比較してください。受信サービスがパディングを削除する場合は、その仕様を確認します。Base32にはコピー時の変更を検出するチェックサムはありません。
ガイドを探す