HTML エンティティ エンコーダー/デコーダー
HTML で安全に使えるようにテキストをエスケープしたり、特殊文字を数値エンティティに変換したり、エンティティを通常のテキストに戻したりできます。
よく使われる HTML エンティティ
| 文字 | エンティティ | 数値 | 説明 |
|---|---|---|---|
| & | & | & | アンパサンド |
| < | < | < | 小なり記号 |
| > | > | > | 大なり記号 |
| " | " | " | 二重引用符 |
| ' | ' | ' | アポストロフィ(一重引用符) |
| ⍽ | |   | 改行なしスペース |
| © | © | © | 著作権記号 |
| ® | ® | ® | 登録商標記号 |
| ™ | ™ | ™ | 商標記号 |
| € | € | € | ユーロ記号 |
| £ | £ | £ | ポンド記号 |
| ¥ | ¥ | ¥ | 円記号 |
| ¢ | ¢ | ¢ | セント記号 |
| § | § | § | セクション記号 |
| ° | ° | ° | 度記号 |
| ± | ± | ± | プラスマイナス記号 |
| × | × | × | 乗算記号 |
| ÷ | ÷ | ÷ | 除算記号 |
| … | … | … | 三点リーダー |
| – | – | – | エンダッシュ |
| — | — | — | エムダッシュ |
| « | « | « | 左山括弧引用符 |
| » | » | » | 右山括弧引用符 |
| · | · | · | 中点 |
HTML エンティティ エンコーダー/デコーダーについて
HTML はいくつかの文字を独自の構文に使用するため、アンパサンド、小なり記号、大なり記号、引用符をテキストとして表示する場合は、&、<、" などのエンティティとして記述する必要があります。これらのエスケープは、ユーザーの入力をページに表示する際のクロスサイトスクリプティング(XSS)に対する最初の防御策でもあります。「特殊文字」を選ぶとこの5文字だけをエスケープし、「すべての非 ASCII」を選ぶとアクセント付き文字、記号、絵文字も é のような数値エンティティに変換します。古いシステム、メールテンプレート、エンコーディングが不明なファイルに便利です。デコードモードはその逆で、名前付き、10進数、16進数のエンティティをブラウザと同じように読める文字に戻します。参照表には、よく使うエンティティを掲載しています。処理はすべてブラウザ内で行われます。
FAQ
' と ' の違いは何ですか?
どちらもアポストロフィを表します。' は HTML5 と XML では定義されていますが、古い HTML 4 では定義されていないため、数値形式の ' が最も安全で、どこでも使えます。
HTML をエスケープすれば XSS を防げますか?
5つの特殊文字をエスケープすると、タグの間や引用符で囲まれた属性内のテキストは保護されます。URL、JavaScript、CSS のコンテキストではそれぞれ専用のエンコードが必要なため、デフォルトでエスケープするテンプレートエンジンと Content Security Policy も併用してください。
名前付きエンティティと数値エンティティのどちらを使うべきですか?
数値エンティティはすべての Unicode 文字に対応し、どのパーサーでも機能します。名前付きエンティティは読みやすいものの、一部の文字にしか存在しません。UTF-8 のページでは、通常は特殊文字だけをエスケープすれば十分です。