文字コード:UTF-8とShift_JIS
文字コードは、文字をバイナリに対応づける規則です。現在の主流は世界中の文字を扱えるUTF-8で、Webの標準になっています。日本の古いシステムではShift_JISも残っており、両者の混在が文字化けの原因になります。
Base64変換の前後で文字コードが変わると文字化けするため、エンコード時とデコード時で同じ文字コードを使うことが鉄則です。
data URIスキーム
data URIは「data:メディアタイプ;base64,データ」という形式で、画像などを文字列としてHTMLに埋め込む仕組みです。小さな画像の埋め込みに使われ、Base64とセットで覚えておきたい形式です。対応ブラウザも広く、特別なライブラリは不要です。
URLセーフBase64
通常のBase64に含まれる「+」と「/」はURL中で特別な意味を持つため、URLのパラメータに使う際は「-」と「_」に置き換える変種が使われます。これをURLセーフBase64と呼び、JWTなどのトークンで採用されています。
よくある質問
UTF-8とShift_JISの見分け方は?
文字化けしたテキストの出方で推測できますが、確実なのは作成元に確認することです。最近作られたデータであればUTF-8の可能性が高いです。
data URIに向いている画像のサイズは?
数KB程度のアイコンやロゴが向いています。Base64化で約33%大きくなるため、大きな画像を埋め込むとHTMLが肥大化して逆効果になります。
URLセーフBase64への変換は自動ですか?
CubToolsの標準的なBase64変換では通常形式が出力されます。URLに使う場合は「+」を「-」、「/」を「_」に置換し、末尾の「=」を取り除く処理が必要です。