失敗例1:モードの選び間違い
デコードしたい文字列をエンコードモードで変換してしまい、意味不明な長い文字列ができて「壊れた」と慌てるケースです。データ自体は無事なので、モードを切り替えてやり直せば解決します。
失敗例2:改行混じりの入力
メール本文からコピーしたBase64文字列には、76文字ごとの改行が含まれていることがあります。そのままデコードするとエラーになるため、改行を削除してから実行してください。コピー元の表示が折り返されているだけの場合もあるため、元のデータを確認することも大切です。
失敗例3:Base64を暗号化と勘違い
認証情報をBase64化して「隠したつもり」でソースコードに埋め込み、そのまま公開してしまう事故は後を絶ちません。Base64は誰でも読めることを常に意識してください。公開前のコードレビューでBase64化された認証情報がないか確認する運用も有効です。
失敗例4:巨大データの一括変換
数十MBものデータをそのまま変換しようとしてブラウザが固まるケースです。大きなデータは分割するか、用途を見直して(data URI化が本当に必要か)検討し直しましょう。
よくある質問
変換に失敗したらデータは壊れますか?
いいえ、Base64変換は元のデータを変更しません。失敗しても入力データは無事なので、原因を取り除いて再実行してください。
文字化けを直す一番手っ取り早い方法は?
デコード時の文字コード設定をUTF-8にすることです。それでも直らなければ、エンコード元の文字コードを確認する必要があります。
エラーメッセージが出たときの確認手順は?
1.モードが正しいか、2.余分な文字が混ざっていないか、3.文字列が途中で切れていないか、の順に確認すると原因を特定しやすいです。