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, 実装技術, 設計技術

関連記事

slf4jとlog4j2を使たデバッグログの出力方法

はじめに Webアプリやスタンドアロンアプリの開発でデバッグログやトレースログを出したい場合があります。 とりあえず、ロガーのログレベルをdebugやtraceに下げればいいや、と設定してもログが出力 …

OfficeアプリのコントロールはPowerShellかVBAか?

Windowsサーバの監視のお仕事での話です。 月次で各サーバのパフォーマンスモニタのログファイル(.blg)が送られてきます。このデータ群から、各種のグラフや表を作成して、PowerPointでそれ …

区分データ生成ツール

区分定義書の変更時、定数や列挙体、マスタの一部を手動で修正するような運用だと、抜け漏れや間違いが発生する場合があります。この辺の手間や間違いを低減するために、区分定義書から自動的に成果物を作成するEx …

Wildflyでリクエストをダンプする

Webアプリのデバッグや障害対応等で、Webアプリに対するリクエストやレスポンスのHTTPヘッダや内容を確認したい場合がある。 次のような場面ではクライアント側での確認ができないため、今回のようにAP …

初心者のためのAzure AD B2Cカスタムポリシー概要

はじめに Azure AD B2Cは、ユーザ情報の管理を行うと共に、アプリに代わってサインイン、パスワードリセット、プロフィール編集等のユーザ認証・編集機能を実行できます。ここでは、このようなユーザ認 …