へっぽこびんぼう野郎のnewbie日記

けろけーろ(´・ω・`)! #vZkt8fc6J

HTMLでエスケープするときに使う"とか"とかについて

「HTML特殊文字」とか「HTMLエスケープシーケンス」とか「HTMLのエスケープ文字」とか言うと混乱する場合があるのでちゃんとした名前を使う。

たとえばパーサ書いてレンダリングしてるときに、こっちのエスケープにあっちのエスケープしてこっちのエスケープがとかやってると、何のエスケープかわからなくなりバグ修正のときに困る。

それで、なんか長年ずっとたたずんでいるこうした「HTML特殊文字」に、パッと調べた感じビシッとした感じの日本語訳ないので人と情報が共有できない。

なのでまとめてみた。

公式名称はw3.orgから引用したよ。

Using character escapes in markup and CSS

数字のやつ【"や4】

10進数は

decimal numeric character reference

16進数の方は

hexadecimal numeric character reference

俗称:

Numeric Character Entity
Numeric Code Character Entity
Numeric Code Character
Numeric Character Reference
NCR

Numeric character reference - Wikipedia

名前のやつ【"とか&とか】

named character reference

俗称:

Character Entity
Character Entity Reference
NCR
HTML entity 

参考:

Character entity references in HTML 4

ぼくの使い分け方

対象 よびかた
とくに使い分けないとき NCR
10進数の 10進数のNCR
16進数の 16進数のNCR
数字の Numeric Character Reference / 数字の方のNCR
名前のやつ Named Character Reference / 名前の方のNCR
NCRの表のこと NCRs

 

ひろめていきたい(`・ω・´)ゞ

おまけ

HTMLではエスケープはNCRを使いましょう(1敗)

<div id="1" attribute="a\"b">だめ</div>
<div id="2" attribute="a&quot;b">おk</div>

<script>
var divs = document.querySelectorAll('div')
divs.forEach(e => {
  console.log('ID', e.getAttribute('id'))
  console.log('attribute', e.getAttribute('attribute'))
})
</script>
ID 1
attribute a\
ID 2
attribute a"b

その他

もうちょっと詳細書いたのがあるので、興味がある方はこちらへどうぞ

ㇹ゚ン゚'ㇳ̃ヴ゙ニ゙コ゚ヮヰ文̂字̠コ゚−ト゚ノ゙ㇵナ゚ㇱ(現在に至るまでの文字コードの軌跡と簡単な使い方について) - へっぽこびんぼう野郎のnewbie日記