Base32エンコード/デコード
Base32エンコーディングとは?
Base32符号化は、テキスト環境での伝送および記憶のためにバイナリデータを印刷可能な文字に変換するための32文字ベースの符号化方式である。Base32符号化の原理は、バイナリデータを5ビットのグループに分割し、分割されたグループごとに符号化して可視文字を1つ得ることである。この符号化メカニズムは主にバイナリデータを可視文字列にエンコードするために使用され、エンコーディングルールはBase 64と似ていますが、異なる文字セットを使用します。Base32の符号化表の文字数は2 ^5 =32であり、これがBase32の名前の由来である。アプリケーションシナリオでは、Base32エンコーディングはURLパラメータ転送、データストレージ、チェックサム計算などに広く使用されています。例えば、バイナリデータをBase32エンコーディングに変換した後、URLのパラメータとして渡すことができ、URLに対する特殊文字の影響を避けることができます。データベースやファイルシステムによってはバイナリデータの格納がサポートされていない場合、Base32エンコーディングを使用すると、バイナリデータをテキスト形式に変換して格納することができます。また、Base32エンコーディングは、データの整合性を検証するために、データのチェックサムを計算するために使用することもできます。Base32はBase 64よりも約20%多くのスペースを占めていますが、大文字小文字を区別しないファイルシステムに適していること、人間の会話や記憶に適していること、結果をファイル名として使用できること(パス区切り文字“/”などの記号が含まれていないため)、視覚的に混乱しやすい文字を排除し、正確な手動入力が可能であることなど、多くの利点があります。パディング記号'='を除外した結果は、文字をエンコードせずにURLに含めることができます。
Base32エンコーディングとは?
- 印刷可能性:Base32エンコーディングによって生成される文字は、テキスト環境での使用に適した印刷可能な文字です。
- フォールトトレランス:Base32エンコーディングは、大文字小文字、スペース、その他の特殊文字の変更など、入力データのエラーや変更に耐えることができます。
- 適用性:Base32エンコーディングは、URLのパラメータ渡しや電子メールの添付ファイルなど、バイナリデータをテキスト形式に変換する必要があるシナリオでよく使用されます。