支柱ガイド
エンコードとデコードのワークフローガイド
Base64、URL エンコード、HTML エンティティ、Unicode エスケープをいつ使うべきか、それぞれ何を守るのかを整理します。
エンコードは 1 つの作業ではありません。内容を転送、埋め込み、表示、保存に適した形にするための、文脈ごとの変換の集合です。この文脈を取り違えると、壊れた URL、読めない文字列、UI に漏れ出すエスケープ済みテキストがすぐに生まれます。
境界に合ったエンコードを選ぶ
内容がクエリ文字列やパスセグメントに入るなら URL エンコードを使います。ユーザーに見えるテキストをマークアップへ挿入し、山括弧などを安全に表示したいなら HTML エンティティを使います。文字列がソースコードやシリアライズ表現を通るなら Unicode エスケープを使い、バイナリや平文 payload をテキスト安全な形で包みたいときに Base64 を使います。
よくある失敗パターン
代表的なバグは二重エンコードです。URL 用にすでにエスケープされた値がもう一度エスケープされ、下流サービスが壊れた内容を受け取ります。Base64 を暗号化と誤解するのもよくあるミスです。Base64 は可逆なエンコードなので、秘密情報を隠す用途には使えません。また Base64 は payload サイズをおよそ 3 分の 1 増やすため、大きなインライン素材では無視できません。
- できるだけ早くではなく、出力に最も近い境界でエンコードします。
- どこで壊れ始めたか確認できるよう、デバッグ用に元の文字列を 1 つ残します。
- 別途暗号化されていない限り、エンコード済みの秘密情報は露出済みとして扱います。
ブラウザで確認しやすいデバッグ手順
結果を信頼する前に、サンプルを人間が読める形へデコードし直します。エンコード前後の値を並べて比較してください。テキストを後で HTML に埋め込む、または URL に貼り付ける場合は、デコードできたからどこでも安全だと仮定せず、実際の投入先の文脈で確認します。
関連ガイド
ガイドとワークフロー
関連ツール
ツール一覧