BINをBase64に変換
生バイナリバイトストリームをBase64テキストに変換することで、データ破損を起こすことなく、テキストのみの通信プロトコルを介して安全なデータ転送を確実に行うことができます。
フォーマットの比較と技術仕様
| 仕様 | BIN | BASE64 |
|---|---|---|
| MIMEタイプ | application/ | text/ |
| タイプ | 未加工のバイナリバイトストリーム | 64進数の ASCII 符号化 |
| 圧縮 | なし | なし(生バイナリに対して33%のサイズ増加) |
| 標準仕様 | 生バイナリバイトストリーム仕様書 | IETF RFC 4648 |
| マジックバイトヘッダー | Raw arbitrary binary bytes | A-Z a-z 0-9 + / = (Base64 character set) |
フォーマットの概要と用途
生バイナリファイルには、実行ファイル、コンパイルされたコード、生ディスクイメージなどの未加工のコンピュータデータが含まれています。これらのバイトストリームは、1バイトに対して可能な256通りの値をすべて使用します。SMTPを使用する電子メールサーバーや、XMLやJSONなどのテキストベースのマークアップ言語など、多くの通信システムは、人間が読めるテキストのみを安全に処理します。これらのテキストチャネルを介して生BINファイルを送信しようとすると、制御文字が削除または変更され、データが完全に破損する可能性があります。 BINからBase64テキストへの変換は、生バイトを安全な64個のASCII文字セットに変換することで、この問題を解決します。これらの文字には、大文字、小文字、数字、および2つの記号が含まれます。Web開発者はこの方法を使用して、小さな画像、フォント、またはアイコンをHTML、CSS、またはJavaScriptファイル内に直接埋め込みます。これにより、ブラウザがWebページを読み込むために必要な個別のHTTPリクエストの数が削減されます。
技術仕様とコーデックの詳細
Base64は入力3バイトを4文字で表します。パディングによって正確な比率は変わるため、大きな入力ではエンコード後に約33%大きくなります。
OSとブラウザの互換性
Base64テキストは、多くの最新オペレーティングシステム、Webブラウザー、テキストエディターで幅広く利用できます。標準的なASCII文字のみで構築されているため、特別なドライバーやデコーダーソフトウェアなしで、Windows、macOS、Linux、iOS、およびAndroidで読み取りおよび解析を行うことができます。Webブラウザは、画像やスタイルシート用のデータURI内のBase64文字列をネイティブにサポートしています。UnixおよびLinuxシステム上のbase64などのコマンドラインツールは、これらのファイルを即座にエンコードおよびデコードできます。JavaScript、Python、C#、Javaなどのプログラミング言語には、Base64エンコーディングをネイティブで処理するための組み込み関数が含まれています。
役立つ情報
ストレージと帯域幅を計画する際は、33パーセントのサイズ増加を念頭に置いてください。Base64テキストは生バイナリよりも多くのディスク容量を消費するため、テキストのみの転送が厳密に必要な場合にのみ、このエンコーディングを使用してください。
よくある質問
品質を落とさずに生バイナリをBase64テキストに変換するにはどうすればよいですか?
生バイナリからBase64テキストへの変換は完全にロスレスです。どちらのフォーマットも非可逆圧縮を使用しないため、ASCII文字へのマッピング中も、元のバイトストリームのすべてのビットが正確に保持されます。
生バイナリとBase64テキストの違いは何ですか?
生バイナリは、0から255までの任意の有効な値を含む、フォーマットされていない8ビットバイトのストリームです。Base64テキストは、データ値を64個の印刷可能な文字の安全なサブセットに制限するASCIIエンコード表現であり、その結果データサイズが33パーセント増加します。