それが & の html エンティティ値であることを知っている&
- w3c のようなバリデーターはどうやってこれを知るのでしょうか? ソース コードを見ても、既に正しい値に解析されています。
1 に答える
あなたの質問は誤った前提に基づいています-Co_42が指摘したように、はの&
「ASCII値」ではありません'&'
。文字を表すHTML文字参照'&'
です。の ASCII 値'&'
は38
(または0x26
) です。
ソース コードは、ほぼ確実に ASCII または Unicode テキスト ファイルで構成されています。それらは HTML エンティティを使用しません。アンパサンドを含む文字列がソース コードに格納されている場合、おそらくそのままで格納されます"&"
。実際の HTML データを含む文字列リテラルがどこかにある場合は、"&"
.
ある種のツールまたは関数を使用して文字列をテキストに変換し、HTML または XML ドキュメントに挿入する準備ができている場合、すべての文字列"&"
が"&"
.
HTML ドキュメントを読み取るプログラムが ASCII に遭遇する"&"
と、それが HTML 文字参照の始まりであると見なすことができます。実際のテキストのすべてのアンパサンドは に変換されているはずなので、これで問題ありません"&"
。
"&"
少しひねくれた例として、ソース コードをワード プロセッサで開いて HTML ドキュメントとして保存すると、実際のファイルでは が に変換されていることがわかります"&"
(そして"&"
に変換されています"&"
)。その後、そのドキュメントをブラウザーで開くと、ソース コードをテキスト エディターで表示したときと同じようにアンパサンドが表示されることがわかります。HTML ドキュメントを保存したときに行われたエンコード手順は、ブラウザがそれを表示するときに行われたデコード手順に対応しています。
のようなものを"Fish & chips"
実際の HTML ドキュメントに直接入れると、HTML ドキュメントは無効になります。問題を複雑にしているのは、ブラウザなどのプログラムがドキュメントのエラーから回復しようとし、とにかくドキュメントを表示しようとする傾向があるという事実です。"Fish & chips"
そのため、無効なドキュメントを開いたときにブラウザが画面に表示される場合があります。ただし、特に HTML ドキュメントのエラーを検出することを目的とした W3C バリデータなどのプログラムは、ドキュメントが無効であることを通知します。