UTF-8 エンティティと HTML エンティティの違いは何ですか?
5 に答える
UTF-8は、バイトレベル エンコーディングのエンコーディング スキームです。
HTML エンティティは、標準 (通常は ASCII) 文字空間で多くの文字を表現する方法を提供します。また、UTF-8 が使用できない場合でも、人間が読みやすいようにします。
今日の HTML エンティティの主な目的は、HTML のように見えるテキストがテキストとしてレンダリングされるようにすることです。たとえば、小なり演算子または大なり演算子 (<
または>
) を特定の順序 (つまり <text>) で配置すると、テキストとしてレンダリングすることが意図されていたときに、誤って HTML としてレンダリングされる可能性があります。
自然数のリストをバイトストリームに無損失かつ自己同期的にマップする手段として UTF-8 を参照してください。これにより、自然数を元に戻すことができ (無損失)、そうでないストリームの「真ん中」に落ちた場合大問題。(自己同期)
それぞれの自然数はたまたま「文字」を表しています。
HTML エンティティは、これらの同じ自然数を次のような方法で表す方法
ですDEL
。
UTF-8 では、それがバイトストリームです。0111 1111
127 を超えると 1 オクテット以上になるため、128 は次のようになります1000 0001 1111 1111
。
2DEL
文字連続で になり0111 1111 0111 1111
ます。UTF-8 は、たとえば 4 オクテットのバイトストリームがそのようなスカラーの 1 ~ 4 の異なる値にマップし直すことができる場合でも、バイトストリームから「Unicode スカラー値」の元のリストを常に取得できるように設計されています。値。したがって、UTF-8 は「可変長」と呼ばれます。
トン。HTML エンティティは主に、HTML マークアップをエスケープして HTML で表示できるようにすることを目的としています (表示と出力を混同しないでください)。たとえば>
、> を出力し、> はタグを閉じます。HTML エンティティを使用して完全な Unicode を生成することはできますが、それは非常に非効率的で実に見苦しいものです。
UTF-8 は Unicode のマルチバイト エンコーディングであり、コード ページを切り替えたり、コード ページを混在させたりすることなく、従来の US ASCII コード ページ以外の文字を表示する方法をカバーしています。1 つのコード ポイント (正しくはありませんが、文字と考えてください) は 6 バイトのデータで構成できます。これは、基本的な多言語面 (BMP) 内外の文字を表すためのもので、アクセント付き文字、東アジア文字、ケルト ツリー ライティング (オガム) などの文字セットが含まれます。
UTF-8 はエンコーディングでhtmlentities
あり、HTML タグがマークアップに直接追加されないように、ユーザー入力を安全にページに表示するための機能です。マニュアルを参照してください。