program-htmlの日記

つれづれ書いてます

文字参照-プログラミング・本のブログ

自身のアウトプットも兼ねてつれづれと書き続けるブログ。


HTML解体新書ー仕様から紐解く本格入門 [ 太田 良典 ]

 

前回からの続きです。

文字参照の概要[06]

文章にHTMLのタグを書くと、タグとして認識してしまいます。

<p>説明文<h1>タイトル</h1>終わり</p>

文章に<h1>と表示するには文字参照(character reference)という仕組みを利用することで、文字をマークとして認識されないように出来ます。

<p>説明文&lt;h1>タイトル&lt;/h1>終わり</p>

<という文字の代わりに&ltと書きました。これが文字参照です。&ltは<に置き換わります。このように特別な意味を持つ文字について、特殊な書き方をすことで意味を失わせることをエスケープ(escape)といいます。文章参照の方法は大きく分けて2種類あります。

いずれの文字参照も&で始まり;で終わります。

名前付き文字参照

名前付き文字参照は、文字を名前で参照する方法です。HTMLでは、名前付き文字参照が述べ2230種類定義されています。

 

【大文字小文字の区別】
名前付き文字参照では、名前の大文字と小文字を区別できます。例えば&aacute;は「á」を表し、&Aacute;は「Á」を表します。

 

【末尾にセミコロンがない場合のエラー処理】

名前付き参照の末尾にはセミコロンが存在しなければならず、これを忘れるとエラーになります。ただし一部の文字はセミコロンのない文字も登録されており、エラーでも認識する場合もあります。&amp;は&ampでも認識してくれます。

※&amp;は&のエスケープである。

ただし、属性値中だと&ampは&と認識されず「&amp」と認識されます。

<a href="/nekonikobean?type=a&ampdegree=20">

上記の例えですと&ampを&と認識されずそのまま&ampと認識されていまし、パラメータが正確に渡せなくなります。ですので、セミコロンを省略は可能ですが、なるべく省略しないようにしましょう。

 

数値文字参照

数値文字参照は、名前ではなく数値によって文字を指定する方法です。名前付き文字参照との違いは、&の直後に#が入ることです。&#の後に数値を書き、末尾にセミコロンを書きます。数値の表記は2種類あります。

  • 10進数値文字参照(Decimal numeric character reference)
  • 16新数値文字参照(Hexadecimal numeric character reference)

【10進数値文字参照

&#の後にそのまま10進数のコードポイントを記入。<を10進数値文字参照で書くと下記のようになります。

&#60; 

【16進数値文字参照

&#の直後にxもしくはXを書き、その後に16進数でコードポイントを記入します。

<を16進数値文字参照で書くと下記のようになります。

&#x3c; 

10進数値文字参照、16真数値文字参照とも大文字小文字は区別しません。

よく使われる文字参照

文字参照は、主にエスケープの目的で利用されます。特に利用されるのは以下の4種類の名前付き文字参照です。

  • &lt;→<
  • &gt;→>
  • &quot;→"
  • &amp;→&

コメント