1.文字参照
文字参照は、
HTMLなどで
直接記述できない
文字や記号を表記する
方法です。
HTMLでは、<!--
と記述してしまうと、コメントの開始を意味します。ここでは、<!--
と記述して表示しています。この様な方法を文字参照と言います。文字参照は、テキストに正当に含める事が出来ない文字をエスケープする為に使用できます。
文字参照は、U+0026 ( & : アンパサンド文字) で始まる必要があります。
文字参照(もじさんしょう、英: character reference)とはHTMLなどのSGML文書においては、直接記述できない文字や記号(マークアップで使われる、半角の不等号「文字参照 - Wikipedia<
」や「>
」など)を表記する際に用いられる方法である。SGML構成素のひとつとして定義されており、文書文字集合中の文字を参照する為の手段を提供する。HTMLにおける文字参照には、表記方法により数値文字参照と文字実体参照の二種が存在する。XMLにおいては、HTMLにおける「数値文字参照」を「文字参照」と呼ぶ。なおHTMLにおける「文字実体参照」は、XMLでは実体参照と呼び区別する。
2.文字実体参照
文字実体参照は、
特定の文字列によって
文書文字集合における
該当文字を
指定する方法です。
作成者がより直感的に文字の参照を行えるように、文字実体参照という
HTML Living Standardでは、名前付き
文字 | Unicode | 文字実体 |
概要 | 説明 |
---|---|---|---|---|
& | U+0026 | & | アンパサンド (半角) |
文字参照で使用されています。 <body> タグの文字参照での記述例 |
< | U+003C | < | 小なり記号 (半角) |
開始タグ開始区切り子, 終了タグ開始区切り子, マーク宣言開始区切り子の一部などで使用されています。 <body>タグのサンプル</body> <!--コメントのサンプル--> |
> | U+003E | > | 大なり記号 (半角) |
開始タグ終了区切り子, 終了タグ終了区切り子, マーク宣言終了区切り子の一部などで使用されています。 <body>タグのサンプル</body> <!--コメントのサンプル--> |
/ | U+002F | / | スラッシュ (半角) |
自己終了としてマークされた開始タグ終了区切り子, 終了タグ開始区切り子の一部などで使用されています。 <mspace title=3em//> |
" | U+0022 | " | 二重引用符 (半角) |
属性値を囲むなどで使用されています。 <body title="属性値のサンプル"> |
' | U+0027 | ' | 一重引用符 (半角) |
属性値を囲むなどで使用されています。 <body title='属性値のサンプル'> |
` | U+0060 | ` | 重アクセント文字 (半角) |
引用符で囲まれていない属性値などで使用されています。 <body title=属性値の`サンプル`> |
= | U+003D | = | 等号 (半角) |
引用符で囲まれていない属性値などで使用されています。 <body title=属性値の=サンプル> |
≡ | U+2261 | ≡ | 同等記号 (半角) |
式などで使用されています。 x≡y(mod N) |
U+00A0 | | ノーブレーク スペース |
折り返しを起こさない (ホワイトスペースではない) 空白 空白の サンプル は制御コードなので、空白そのままを文字参照で表したい場合は   と数値文字参照を用います。 |
|

 | U+000A | 
 | ラインフィード 改行 |
改行を表します。<pre>改行の
サンプル</pre> |
↵ | U+21B5 | ↵ | 改行マーク | 改行を表します。 改行の↵<br> サンプル ↵ はマークなので、改行を要素・タグで表したい場合は <br> とbr要素を用います。 |
↩ | U+21A9 | ↩ | 改行マーク | 改行を表します。 改行の↩<br> サンプル ↩ はマークなので、改行を要素・タグで表したい場合は <br> とbr要素を用います。 |
! | U+0021 | ! | 感嘆符 (半角) |
マーク宣言開始区切り子で使われるので、<!を<!と記すだけで気を付ける事はそれほどないと思います。 <!-- コメント --> |
# | U+0023 | # | ハッシュ (半角) |
数値文字参照などで使われるので、を&#と記すだけで気を付ける事はそれほどないと思います。 &#035; |
¥ | U+00A5 | ¥ | 円記号 (半角) |
文字エスケープなどで使われるので、¥uなどをテキストデータとして表したい場合などに必要です。 ¥u{4F1D} |
; | U+003B | ; | セミコロン (半角) |
文字参照などで使われるので、とりあえず提示しました。 ;; |
, | U+002C | , | カンマ (半角) |
配列の区切り子などで使われるので、文字列データで配列を表しつつカンマもテキストデータとして扱いたい時などに使うかと思います。 ["テキスト1", "テキスト2(a,b)"] |
| | U+007C | | | バーティカルバー | 配列の区切り子などで使われるので、とりあえず。 |
✓ | U+2713 | ✓ | チェックマーク | とりあえず提示しました。 |
⋯ | U+22EF | ⋯ | 省略記号 | とりあえず提示しました。 |
( | U+0028 | ( | 左括弧 (半角) |
とりあえず提示しました。 |
) | U+0029 | ) | 右括弧 (半角) |
とりあえず提示しました。 |
{ | U+007B | { | 左中括弧 (半角) |
とりあえず提示しました。 |
} | U+007D | } | 右中括弧 (半角) |
とりあえず提示しました。 |
[ | U+005B | [ | 左大括弧 (半角) |
とりあえず提示しました。 |
] | U+005D | ] | 右大括弧 (半角) |
とりあえず提示しました。 |
<div><
div>TEXT < /div></div> <div><
!--TEXT</div>
< (左山括弧) は < と文字
<input value=
"> 右山括弧"> <div>TEXT--
></div>
> (右山括弧) は > と文字
<input value=
"&gt; アンパサンド">
& (アンパサンド) は & と文字
<input value=
"" 引用符 "">
" (二重引用符) は " と文字
<input value=
"' 単一引用符 '">
' (一重引用符) は ' と文字
<input value=
Attribute Value> <br>AttributeValue
Value <br>Attribute
Value <pre>Attribute
Value</pre>
(空白) は と文字
HTMLでのホワイトスペースの扱いについて、
AttributeValue Value
Attribute Value
Attribute Value
<input value=
Attribute
Value> <br>AttributeValue

 Value <br>Attribute

 Value <pre>Attribute

 Value</pre>

 (改行) は 
 と文字<br>
とbr
HTMLでのホワイトスペースの扱いについて、
AttributeValue
Value
Attribute
Value
Attribute
Value
<input id=
"iinJs021"> <br><button type=
"button" onclick= "document .getElementById( 'ispJs021') .textContent = 'U+' + document .getElementById( 'iinJs021') .value .charCodeAt( ) .toString( 16) .padStart( 5, '0') .toUpperCase( );">変換</button> <br><span id=
"ispJs021"></span>
文字からUnicodeに変換する仕掛けを用意してみました。 処理は、文字列の先頭 1 文字を取得して編集するものです。 名前付き文字参照の名前を探す為にも、Unicodeが判った方が良いかと用意しました。
一応、仕掛け自体のコードも、上に提示しています。
3.数値文字参照
数値文字参照は、
文書文字集合における
該当文字を
ISO 10646の文字番号で
指定する方法です。
数値文字参照は、10進数もしくは16進数によって文書
16進数による指定は元々のSGMLの規格には存在しなかったが、HTML 4.0で規格化されました。16進数表記の際には大文字小文字の区別がありません。
HTML Living Standardでは、10 進整数で指定する方法を10進数値
伝
数値文字参照での、10進数によって文書文字集合における該当文字(この例では「伝」)をISO 10646の文字番号で指定する方法です。&#
を、末尾に ;
を付与します。
伝
数値文字参照での、16進数によって文書文字集合における該当文字(この例では「伝」)をISO 10646の文字番号で指定する方法です。&#x
を、末尾に ;
を付与します。
<input value=
Attribute   Value> <br>AttributeValue
  Value <br>Attribute
          Value
(空白) を   と数値
HTMLでのホワイトスペースの扱いについて、
AttributeValue Value
Attribute Value
<input id=
"iinJs031"> <br><button type=
"button" onclick= "document .getElementById( 'ispJs031') .textContent = '' + parseInt( document .getElementById( 'iinJs031') .value, 16) { ; document .getElementById( 'ispJs032') .textContent = String .fromCharCode( parseInt( document .getElementById( 'iinJs031') .value, 16) {);">変換</button> <br><span id=
"ispJs031"></span> <br><span id=
"ispJs032"></span>
Unicode の16進から10進に変換する仕掛けを用意してみました。 処理は、16進の数字のみを指定して編集するものです。 意図する文字か確認する為にも、その10進数のコードを元に、文字も編集しています。 制御コードなどは目視で確認できませんが、何かに使えるかと用意しました。
一応、仕掛け自体のコードも、上に提示しています。
4.気を付ける点
文字参照の使い方に
注意が必要です。
& (アンパサンド) は & と表せる訳ですが、この表現でも & という文字が現れる訳です。つまりその表記が文字参照を用いた後なのか前なのか判断が難しいという事です。
なので、安易に & を & と置き換えると、誤って & を &amp;
と置き換える事もありえます。
ツールによっては、文字参照に置き換えてくれる物もあります。元の文字データが既に文字参照を用いた物か否かも、配慮が必要です。