Base64をBINに変換
Base64テキストを生バイナリに変換し、ASCIIエンコーディングのオーバーヘッドを取り除くことで、元の8ビットバイトストリームを復元します。
フォーマットの比較と技術仕様
| 仕様 | BASE64 | BIN |
|---|---|---|
| MIMEタイプ | text/ | application/ |
| タイプ | 64進数の ASCII 符号化 | 未加工のバイナリバイトストリーム |
| 圧縮 | なし(生バイナリに対して33%のサイズ増加) | なし |
| 標準仕様 | IETF RFC 4648 | 生バイナリバイトストリーム仕様書 |
| マジックバイトヘッダー | A-Z a-z 0-9 + / = (Base64 character set) | Raw arbitrary binary bytes |
フォーマットの概要と用途
Base64テキストは、電子メールやJSONペイロードなどのテキスト専用の通信チャネルを介してバイナリデータを安全に表現するために、64個の印刷可能なASCII文字の安全なセットを使用します。ただし、Base64でフォーマットされたテキストは、元のバイト構造に戻るまでシステムで実行または処理できません。ソフトウェア開発者は、設定ファイル、APIレスポンス、Webアプリケーションのリソースから、埋め込み画像、フォント、コンパイルされた実行ファイルペイロードを抽出する際に、この変換を頻繁に行います。 Base64から生バイナリに戻すには、エンコーディング中に使用された計算を逆算する必要があります。Base64テキストの4文字ごとに、基礎となるバイナリデータの正確に3バイトを表します。このプロセスにより、フォーマット文字が取り除かれ、オペレーティングシステム、ハードウェアデバイス、ネイティブのバイナリパーサで必要とされる1と0の正確なシーケンスが復元されます。
技術仕様とコーデックの詳細
Base64は入力3バイトを4文字で表します。パディングによって正確な比率は変わるため、大きな入力ではエンコード後に約33%大きくなります。
OSとブラウザの互換性
Windows、macOS、Linuxなどのオペレーティングシステムは、システムコールやコマンドラインユーティリティを通じて生バイナリファイルをネイティブに処理します。最新のWebブラウザは、Fetch APIとTypedArraysを使用してバイナリデータを処理し、開発者がatob関数を使用してJavaScriptでBase64文字列を直接デコードしたのち、バイトをBlobオブジェクトに書き込むことができます。iOSやAndroidのモバイルオペレーティングシステムは、正しい拡張子と権限が適用されている場合、ネイティブのアプリケーションサンドボックスを通じてバイナリファイルを効率的に読み込みます。
役立つ情報
デコードプロセスを開始する前に、Base64テキスト文字列に不要な空白文字や改行文字が含まれていないことを必ず確認してください。余分な文字があると、出力されるバイトシーケンスが破損する可能性があります。
よくある質問
品質を落とさずにBase64テキストを生バイナリに変換するにはどうすればよいですか?
Base64は単なるバイナリデータのテキストラッパーであり、圧縮を使用しないため、生バイナリへのデコードは完全にロスレスです。基礎となるデータが劣化することなく、すべての元のバイトが数学的に復元されます。
Base64テキストと生バイナリの違いは何ですか?
Base64テキストは、印刷可能なASCII文字を使用してデータを安全に表現するテキスト形式であり、ファイルサイズが33%膨らみます。生バイナリは、コンピュータやハードウェアが直接実行またはレンダリングする8ビットバイトのネイティブかつ未フォーマットのストリームです。