HTMLエスケープ — HTMLエンティティのエンコード・デコード
特殊文字や非ASCII文字のHTMLエンティティをエンコード・デコード
ブラウザー内で処理・アップロード不要
HTMLエンティティとは
HTMLでは < や & などの文字に特別な意味があるため、文字どおりに表示するには < や & のようなエンティティで書きます。このツールはテキストをエンティティに、エンティティを文字に変換します。
使い方
- エンコードかデコードを選びます。
- エンコードする場合は範囲を選びます。必須の5文字だけか、非ASCII文字すべてを数値参照にするかです。
- テキストを貼り付けると、すぐに結果が表示されます。
- 結果をコピーするか、「出力を入力に使う」を押して往復変換を確認します。
仕組み
- 必須の5文字のみ:
&は&、<は<、>は>、"は"、'は'になります。 - 非ASCII文字すべて:上の5文字に加え、コードポイントが128以上のすべての文字を10進の参照にします(éは
é)。絵文字はUTF-16の2つの半分ではなく、1つのコードポイントとして扱います。 - デコード:名前付き参照、10進参照(
A)、16進参照(A)を1回の処理で解決するため、&lt;は<になり、それ以上は変換されません。 - 名前付き参照は内蔵の約50件の表(amp、lt、gt、quot、apos、nbsp、copy、euro、hellipなど)に基づきます。表にない名前はそのまま残ります。
- 0、サロゲートの範囲、Unicodeの上限を超える値の数値参照は、HTML標準どおり置換文字U+FFFDになります。
例
| 入力 | モード | 結果 |
|---|---|---|
<a href="x"> |
必須の5文字のみ | <a href="x"> |
é© |
非ASCII文字すべて | é© |
👍 |
非ASCII文字すべて | 👍 |
© 👍 |
デコード | © 👍 |
よくある質問
なぜテキストをHTMLエンティティにするのですか?
そのままページに入れたテキストでは、<のような文字がタグとして解釈されます。必須の文字をエンティティにすると文字どおりに表示され、スクリプトの埋め込みを防ぐ助けにもなります。ただし、サーバー側での適切な出力エスケープの代わりにはなりません。
必須の5文字とはどれですか?
アンパサンド、小なり、大なり、ダブルクォート、シングルクォートです。それぞれ & < > " ' になります。
日本語やアクセント付きの文字もエンコードが必要ですか?
文書がUTF-8なら必要ありません。エンコーディングが不確かな場所や、ASCIIしか受け付けないシステムにテキストを渡す場合だけ、非ASCII文字すべてのモードを使ってください。
デコードされないエンティティがあります。
HTMLには2,000を超える名前付きエンティティが定義されています。このツールはよく使われる約50の名前とすべての数値参照に対応しており、知らない名前はそのまま残します。