概要
Base64 デコードとエンコードをご紹介します。これはその名の通りのシンプルなオンラインツールで、Base64 エンコードからのデコードも、Base64 へのエンコードも、素早く簡単に行えます。面倒なくデータを Base64 エンコードしたり、人間が読みやすい形式にデコードしたりできます。
Base64 エンコード方式は、特にバイナリデータをテキスト専用のメディアで保存・転送する必要がある場合によく使用されます。このエンコードによって、データが転送中に変更されず完全な状態を保つことができます。Base64 は、MIME を介したメール送信や、XML・JSON での複雑なデータの保存など、さまざまなアプリケーションで一般的に使用されています。
詳細オプション
- 文字セット: テキストデータの場合、エンコード方式には文字セット情報が含まれないため、どの文字セットを使用してエンコードされたのかを指定する必要があります。通常は UTF-8 ですが、他の文字セットが使われることもあります。不明な場合は、利用可能なオプションを試すか、自動検出機能を使用してください。この情報は、デコードしたデータを当サイトの文字セットに変換し、文字や記号を正しく表示するために使用されます。なお、ファイルの場合は Web 安全変換を行う必要がないため、これは関係ありません。
- 各行を個別にデコード: エンコードされたデータは通常連続したテキストで構成されるため、改行文字も Base64 に変換されます。デコード前に、エンコードされていない空白はすべて削除され、入力データの整合性が保たれます。このオプションは、改行で区切られた複数の独立したデータ項目をデコードしたい場合に便利です。
- ライブモード: このオプションを有効にすると、入力されたデータはブラウザに組み込まれた JavaScript 関数によって即座にデコードされ、当社サーバーには一切送信されません。現在、このモードは UTF-8 文字セットのみに対応しています。
安全性とセキュリティ
当社サーバーとのすべての通信は、SSL によって暗号化された安全な接続(https)を通じて行われます。アップロードされたファイルは処理後すぐにサーバーから削除され、生成されたダウンロードファイルも、最初のダウンロード試行または 15 分間の無操作のいずれか早い時点で削除されます。当社は送信データやアップロードファイルの内容を保持または確認することは一切ありません。詳細は以下のプライバシーポリシーをご覧ください。
完全無料
当ツールは無料でご利用いただけます。これからは、このような簡単な作業のためにソフトウェアをダウンロードする必要はありません。
Base64 エンコードの詳細
Base64 は、バイナリデータを数値として扱い、それを base-64 表現に変換する複数の類似したエンコード方式の総称です。Base64 という名称は、MIME コンテンツ転送エンコード方式に由来しています。
設計
Base64 で使用される 64 種類の文字の具体的な構成は実装によって異なります。一般的なルールとして、1) 多くの文字コードに共通する部分集合に含まれ、2) 印字可能である、という 64 文字の集合を選択します。この組み合わせにより、電子メールのように 8 ビット非対応のシステムを通過してもデータが変更されにくくなります。たとえば、MIME の Base64 実装では、最初の 62 値に A–Z、a–z、0–9 を使用し、残り 2 つに「+」と「/」を使用します。Base64 に基づく他の派生形式もこの性質を共有していますが、最後の 2 文字の記号が異なります。例として、URL およびファイル名に安全な「RFC 4648 / Base64URL」形式では、「+」「/」をそれぞれ「-」「_」に置き換えています。
例
以下はトマス・ホッブズの『リヴァイアサン』からの引用です:
「Man is distinguished, not only by his reason, but ...」(「人間は、その理性だけでなく、…によっても区別される」)
これは ASCII バイト列として表され、MIME の Base64 方式で次のようにエンコードされます:
TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCAuLi4=
上の引用では、Man のエンコード値は TWFu です。ASCII では、文字「M」「a」「n」はそれぞれバイト値 77、97、110 として格納され、2 進数では「01001101」「01100001」「01101110」に対応します。これら 3 バイトを 24 ビットバッファにまとめると、「010011010110000101101110」という 2 進シーケンスが得られます。6 ビット単位(6 ビットは最大 64 通りの値を持つ)で区切り、4 つの数値(24 = 4 × 6 ビット)に変換し、それぞれを Base64 の対応値に変換します。
| テキスト内容 | M | a | n | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ASCII | 77 | 97 | 110 | |||||||||||||||||||||
| ビットパターン | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 0 |
| インデックス | 19 | 22 | 5 | 46 | ||||||||||||||||||||
| Base64 エンコード結果 | T | W | F | u | ||||||||||||||||||||
この例が示すように、Base64 エンコードでは 3 バイトの未エンコードデータ(この場合は ASCII 文字)が、4 つのエンコード済み ASCII 文字に変換されます。