tellogs.com

HTMLエンコーディングの基礎知識

HTMLエンティティ変換

HTMLエンコーディングとは、Webページ上で特殊な文字を安全に表示するための仕組みです。ブラウザはHTML文書を解析する際、特定の文字列をタグや属性として解釈します。この解釈を制御するために、文字をエンティティコードに変換してリテラルな文字として表示させる手法がHTMLエンコーディングです。

文字参照には主に2つの形式があります。名前付き文字参照は「<」のように英語名で文字を指定する方法で、可読性が高いのが特徴です。一方、数値文字参照は「<」や「<」のようにUnicodeコードポイントを直接指定する方法で、名前が定義されていない文字にも対応できます。10進数と16進数の両方の表記が可能です。

HTML5では、セミコロンの省略が可能なケースもありますが、互換性と安全性の観点から常にセミコロンを付けることが推奨されます。また、UnicodeのBMP(基本多言語面)を超える絵文字や特殊文字は、サロゲートペアを考慮した数値文字参照を使用する必要があります。

HTMLエンコーディングを適切に行うことは、XSS攻撃の防止にも直結します。ユーザー入力や外部データをHTMLに埋め込む際は、必ずエンコーディング処理を施してください。この知識はWeb開発者にとって必須のスキルです。

HTMLエンティティ変換を使ってみましょう

このページの内容を、HTMLエンティティ変換で実際に試してみましょう。

HTMLエンティティ変換を開く