テキスト・HTMLエンティティを自由に相互変換
HTMLコーデックの使い方は非常にシンプルです:
HTMLコーデックは、Web開発やコンテンツ作成において以下のような場面で活用されています:
HTMLメールテンプレート内で特殊文字を含むテキストを安全に表示。メールクライアントの互換性を保ちながら、記号や引用符を正しく表示できます。
小さな画像やアイコンをHTMLやCSSに直接埋め込む際、Base64でエンコードしたデータURLが使用されます。HTTPリクエストを削減し、ページの読み込み速度を向上させます。
HTTP Basic認証では、ユーザー名とパスワードをコロン(:)で結合し、Base64エンコードして認証ヘッダーに含めます。
JWTのヘッダーとペイロード部分は、Base64URLエンコーディング(Base64の変種)で表現されます。
バイナリデータをJSON形式で転送する際、Base64エンコーディングを使用してテキスト形式に変換します。
Base64は、バイナリデータを64種類の印字可能なASCII文字のみを用いて表現するエンコーディング方式です。「64」という名前は、使用する文字が64種類(2の6乗)であることに由来します。
Base64エンコーディングは、3バイト(24ビット)のデータを4つの6ビット単位に分割し、それぞれを上記64文字のいずれかにマッピングします。
元のテキスト: "Hello" バイナリ表現: 01001000 01100101 01101100 01101100 01101111 Base64結果: SGVsbG8=
データサイズが3の倍数でない場合、末尾に「=」でパディング(埋め合わせ)が行われます。
テキストのみをサポートするシステム(古いメールシステムなど)でも、Base64エンコーディングを使用することでバイナリデータを安全に転送できます。データの破損を防ぎます。
Base64はASCII文字のみを使用するため、異なるシステム間でのデータ交換において文字コードの問題が発生しません。
Base64URLエンコーディング(+を-に、/を_に置き換える)を使用することで、URLやファイル名に安全に使用できる文字列を生成できます。
CSSやHTMLファイルに画像やフォントを直接埋め込むことで、外部ファイルへのリクエストを削減し、ページのパフォーマンスを向上させます。
機密データを保護する必要がある場合は、AES-256などの強力な暗号化アルゴリズムを使用してください。
はい、基本的に同じ意味です。どちらもHTML特殊文字をHTMLエンティティに変換することを指します。「エスケープ」は一般的なプログラミング用語、「エンコード」は文字変換の観点から使われます。
最低限、<、>、&、"、' の5文字はエンティティ化が推奨されます。特に<と>はHTMLタグとして解釈されるため必須です。ユーザー入力を表示する場合は、XSS攻撃防止のためすべての特殊文字をエンティティ化すべきです。
数値エンティティ(<)はUnicode文字コードで表現し、すべての文字に使用可能です。名前付きエンティティ(<)は読みやすい名前で表現しますが、HTML5で定義された約2,000種類に限られます。どちらも機能は同じです。
PHPのhtmlentities()関数のフラグです。ENT_QUOTESは単一引用符と二重引用符の両方をエンコード、ENT_HTML5はHTML5準拠のエンティティセットを使用します。このツールは両方を組み合わせて最も安全な変換を行います。
いいえ、UTF-8で正しくエンコードされた日本語などの多バイト文字は、HTMLでそのまま表示可能なためエンティティ化の必要はありません。ただし、数値エンティティ(あ = あ)として表現することも可能です。
いいえ、HTMLエンティティ化は暗号化ではなく、単なる文字の表現方法の変更です。セキュリティの観点では、XSS攻撃を防ぐための「エスケープ」であり、データの機密性を守る暗号化とは異なります。
各言語に専用関数があります。PHP: htmlentities()、JavaScript: textContent(自動エスケープ)、Python: html.escape()、Java: StringEscapeUtils.escapeHtml4()、Ruby: CGI.escapeHTML()などが利用できます。
文字エンコーディング(UTF-8、Shift_JIS等)が一致していない可能性があります。また、不完全なエンティティ(< の後にセミコロンがない等)や、複数回エンコードされたデータ(&lt; → < → < と2回デコードが必要)が原因の場合もあります。
URLエンコード・デコード
Base64エンコード・デコード
HTMLからすべてのタグを削除し、純粋なテキストを抽出します。
画像データをBase64エンコード
MD5、SHA-1、SHA-256ハッシュ生成