使い方
- 「テキスト」欄に文章を入力すると、下の「Base64」欄に即座に変換結果が表示されます。
- 逆に「Base64」欄に文字列を貼り付けると、「テキスト」欄にデコード結果が表示されます。
- URLやファイル名で使う場合は「URL-safe」を、メール本文などに埋め込む場合は「76文字で改行」をチェックします。
仕組み・根拠
Base64はRFC 4648で定義された、バイナリデータを64種類のASCII文字(A–Z, a–z, 0–9, +, /)で表現するエンコード方式です。3バイトを4文字に変換し、足りない分は=でパディングします。URL-safe版(RFC 4648 §5)は+を-に、/を_に置き換え、URLのクエリやファイル名でエスケープ不要にしたもので、パディングを省略するのが一般的です。「76文字で改行」はメール添付などで使われるMIME(RFC 2045)の慣習に合わせたものです。
現場の落とし穴: ブラウザ標準のbtoa()はUTF-16文字列を「1文字=1バイトのLatin-1」とみなすため、日本語や絵文字を含む文字列にそのまま使うとInvalidCharacterErrorで例外になるか、文字化けします。正しくは、まずTextEncoderで文字列をUTF-8のバイト列に変換し、そのバイト列をbtoa()に渡す必要があります(デコードも同様にTextDecoderでUTF-8として解釈します)。このツールは内部でその変換を行っているため、日本語を含むテキストも安全に往復できます。
よくある質問
Q. デコードでエラーになるのはどんな時ですか?
A. Base64として使えない文字が含まれる、長さが4の倍数にならない、パディングの位置がおかしい、またはデコードした結果が有効なUTF-8のバイト列にならない(画像などのバイナリデータをテキストとしてデコードしようとした)場合にエラーを表示します。
Q. URL-safeと通常のBase64はデコード時に区別が必要ですか?
A. このツールのデコードは-と_を自動的に+と/に読み替え、パディング不足も自動補完するため、チェックの有無にかかわらずどちらの形式でもデコードできます。
Q. パディング(=)はなぜ付いたり付かなかったりしますか?
A. 入力バイト数が3の倍数でない場合に末尾を=で埋めます。URL-safeモードでは慣習的にパディングを省略します。
関連ツール
最終更新・根拠の確認日: 2026-09-10 · カテゴリ: 開発・データ