NDW

アプリ開発やトラブルシューティング等のノウハウ、キャンプや登山の紹介や体験談など。

1. システムエンジニアリング html/jquery 実装技術 設計技術

HTML4, HTML5エスケープ(文字参照)

投稿日:2021年10月10日 更新日:

数値文字参照・文字実体参照

  • 半角の不等号(<>等)などのHTML上で直接記述できない文字や記号を表記する方法が文字参照です。
    HTMLやXMLの基になっているSGMLから提供されている手段です。
  • 文字参照では、次の2種類の表記方法があります。
    分類 説明 備考
    数値文字参照 特定文字を数値で表記 &#1234;(10進数で指定)
    &#x04D2;(16進数で指定)
    16進数指定はHTML4.0から。
    文字実体参照 特定文字を文字列で表記 &nbsp;
    &lt;

    数値文字参照: Numeric Character References, 文字実体参照: Character Entity References

HTML4, HTML5のエスケープ

  • ページを生成する際にHTML上で意味を持つ文字をそのまま出力するとクロスサイトスクリプティング(XSS)等の攻撃を受ける可能性があります。そのため、HTML上で特別な意味を持つ次の文字は文字実体参照や数値文字参照でエスケープする必要があります。
    文字 名称 文字実体参照 Unicode
    コードポイント
    数値文字参照
    (10進数)
    数値文字参照
    (16進数)
    " クォーテーション
    (quotation mark)
    &quot; 34(U+00022) &#34; &#x22
    & アンパーサンド
    (ampersand)
    &amp; 38(U+00026) &#38; &#x26
    ' アポストロフィ
    (apostrophe)
    &apos;
    ※1
    39(U+00027) &#39; &#x27
    < 小なり
    (less-than)
    &lt; 60(U+0003C) &#60; &#x3c
    > 大なり
    (greater-than)
    &gt; 62(U+0003E) &#62; &#x3e
    ※1: &apos;はHTML4の文字実体参照としては定義されていないため、HTML4でアポストロフィを使用する場合は&#39;と表記する必要があります。&apos;はXML, XHTML, HTML5で文字実体参照として定義されていることや、モダンブラウザでこれらをサポートしているので、実際にはHTML4でも&apos;を使用できるようです。
  • 細かい話をすると、要素の値として出力する場合は「& < >」をエスケープする必要があります。属性値として出力する場合は「" '」をエスケープする必要があります。

HTML4における文字実体参照

  • HTML4の文字実体参照はHTML 4.01 Specification24 Character entity references in HTML 4で定義されています。
  • HTML4の場合、一つの文字実体参照で1文字を表現しています。
    (後述しますが、HTML5では一つの文字実体参照で2文字を表現する場合があります。)
  • 上記資料から作成した文字実体参照の一覧を次からダウンロードできます。
    • CharacterReference_HTML4.txt (タブ区切り)
    • CharacterReference_HTML4.xlsx (Excelブック形式)
      (Excelで文字実体参照に対応する文字を確認したい場合、UNICHAR関数にコードポイントを指定することで表示できます。例えば、「&euro;」(ユーロの通貨記号: €)を確認したい場合は”=UNICHAR(8364)”と指定します。)

HTML5における文字実体参照







-1. システムエンジニアリング, html/jquery, 実装技術, 設計技術

関連記事

Visual Studio 2019と開発用DB(LocalDB)

Visual Studio 2019でのASP.NET Coreを使ったシステム開発の標準化を検討している。 開発工程では技術検証、新機能向けのテーブル定義の検討、単体試験等を目的として、開発者が自由 …

JSFラジオボタン・チェックボックスとbootstrap

boostrapでラジオボタンやチェックボックスを使用する場合、div, input, label要素にbootstrapのCSSクラスを指定する必要がある。 JSFでラジオボタンを使用する場合、se …

ASP.NET Core: IHttpClientFactoryの使用方法

とりあえず、どんなサンプルになるか知りたい人は下記のサンプルをご覧ください。 ASP.NET Core: IHttpClientFactoryの単純サンプル ASP.NET Core: IHttpCl …

OWASPが推奨する強力なパスワード

Webアプリケーションのセキュリティの標準化や推進を行うOWASPでは、強力なパスワードの使用を推奨しているので、それをまとめた。 cheatsheetseries.owasp.org  1 …

ゾーン10進数の変換方法とC#のサンプル

なお、パック10進数はこちらで紹介しています。 ゾーン10進数 ゾーン10進数の変換方法 10進数の各桁を「ゾーン部(上位4ビット)+数値部(下位4ビット)」のバイトに変換して生成します。 生成したバ …