Base64エンコードとは
Base64は、64種類の印字可能なASCII文字(A〜Z、a〜z、0〜9、+、/)だけで任意のバイナリ・テキストデータを表現する方式です。CSS・HTMLへの画像埋め込み、メール添付ファイルのエンコード、JSON内へのバイナリデータの格納、URLやAPIトークンでのデータのやり取りなど、生のバイナリバイトを確実に扱えないテキスト専用の経路でデータを安全に送る必要がある場面で広く使われています。
変換の仕組み
エンコードでは、テキストの元のUTF-8バイト列を3バイトずつのまとまりに分け、それぞれを4文字のBase64文字に変換します(入力の長さが3の倍数でない場合は末尾を「=」で埋めます)。デコードはこの処理を正確に逆に行い、Base64文字をバイトに戻してからUTF-8テキストとして解釈します。3バイトを4バイトに拡張する仕組みのため、エンコード後のデータは常に元のデータよりおよそ33%長くなります。
よくある質問
- Base64は暗号化と同じですか?
- いいえ。Base64は可逆的なテキスト表現にすぎず、暗号化ではありません。鍵やパスワードなしで誰でも即座に元のデータへデコードできるため、機密情報の保護目的では絶対に使用しないでください。
- デコード時にエラーが出るのはなぜですか?
- 通常、入力したテキストが正しいBase64形式ではないためです。Base64の文字セットに含まれない文字がある、パディングが誤っている、またはデコード後の値が正しいUTF-8テキストにならない場合などがあり、このツールは文字化けした結果を表示する代わりにエラーとして知らせます。
- 入力したテキストはどこかに送信されますか?
- いいえ。エンコード・デコードはすべてJavaScript標準の関数を使ってブラウザ内でのみ処理され、入力した内容がどこかにアップロードされることはありません。機密性の高いテキストやトークンにも安心して利用できます。