開発者ツール · HTML エンティティ エスケープ
がダッシュとして表示される理由: HTML の Windows-1252 エンティティの癖
· 背景
html ユニコード compatibility
コード ポイント 128–159 は Unicode の制御文字ですが、ブラウザでは がダッシュとして表示されます。この投稿では、互換性のために HTML が標準化した Windows-1252 の再マッピング、そのようなエンティティの出所、およびそれらを最新化する方法について説明します。
制御文字だった en ダッシュ – 移行されたコンテンツで と に遭遇し、そもそもなぜレンダリングされるのか疑問に思った
制御文字である en ダッシュ — 移行されたコンテンツで と に遭遇し、そもそもなぜレンダリングされるのか疑問に思いました。従来のコンテンツには、ダッシュを期待する や中アポストロフィを期待する が含まれる場合があります。これらの数値を通常の Unicode コントロールとして読み取ると、目に見えない、または破壊的な出力が生成されます。
文字を確認するには、古いドキュメントから移行されたコンテンツで間違ったダッシュと引用符が表示される開発者のために、en ダッシュを作成します。 Preserve は制御文字でしたが、Windows-1252 互換性により 150 および 146 を満たすことができます。移行されたコンテンツのどこで消費されるかを特定します。なぜレンダリングされるのかという疑問についての観察は、HTML テキストのみに属します。
C1 制御範囲 — U+0080 ~ U+009F がどのようなものであるか、およびそれらが決して印刷可能なテキストではない理由
C1 制御範囲 - U+0080 ~ U+009F がどのようなものであるか、およびそれらが決して印刷可能なテキストではない理由。 C1 間隔 U+0080 ~ U+009F は、通常の印刷可能なタイポグラフィではなく、制御機能用に予約されています。驚くべきグリフは、公称コード ポイントではなく、互換性マッピングから来ています。
古いドキュメントから移行されたコンテンツに間違ったダッシュや引用符が含まれていることに気付いた開発者は、Windows-1252 互換性パスの前に 0080 u を記録することで、c1 制御範囲をテストできます。その後、009f が想定されている内容を比較し、その原因となっているパーサーとその理由を特定します。この 文字の結果は、決して印刷可能なテキストではなく、実行可能なコンテキストでもないことを説明しています。
数値の出典 — ワード プロセッサや初期のエディタによって HTML に貼り付けられた Windows-1252 バイト値
数値の出所 — ワード プロセッサや初期のエディタによって HTML に貼り付けられた Windows-1252 バイト値。以前のオーサリング ワークフローでは、Windows-1252 バイト値を Unicode 数値であるかのように扱っていました。移行された HTML では、ドキュメントが Unicode エンコードに移行された後も、これらの 10 進参照が長期間保持されていました。
短い Windows-1252 互換性サンプルのどこに数字が含まれているかを特定します。 Windows から 1252 バイトをリテラルソースとして表示し、HTML に貼り付けられた値をその宛先までたどって、ワードプロセッサで読み込む API に名前を付けます。文字については、初期の編集者がパーサーに依存した証拠が残っています。
互換性の再マッピング - HTML 解析アルゴリズムがこれらの参照を Windows-1252 文字にマッピングする方法
互換性の再マッピング - HTML 解析アルゴリズムがこれらの参照を Windows-1252 文字にマッピングする方法。デコーダーには、明示的な Windows-1252 マップが含まれています。 String.fromCodePoint の前で選択された値を変更し、10 進数の 151 などのブラウザ互換の結果を全角ダッシュに一致させます。
互換性の再マッピングを境界実験として扱います。古いドキュメントから移行されたコンテンツに間違ったダッシュや引用符が含まれている場合、開発者は HTML 解析アルゴリズムを保持し、Windows-1252 互換操作を 1 つ実行し、Windows 1252 文字を変更する前に、これらの参照を文字ごとにマッピングすることを検査する必要があります。 Windows-1252 互換性の証拠に関する主張は、この HTML 層にとどまります。
作業例: および から を目的の文字 (省略記号、引用符、箇条書き、ダッシュ、商標) に変換する
作業例: と から を、省略記号、引用符、箇条書き、ダッシュ、商標など、意図した文字に変換します。表から計算される例には、省略記号への 、左の一重引用符への 、右の一重引用符への 、箇条書きへの、ダッシュ記号への、および商標へのが含まれます。
顧客資料の代わりに無害な入力を使用して 133 を翻訳する実際の例を再現します。 145 から 153 までを記録し、意図された文字を観察し、意図的な Windows-1252 互換性パスをすべてカウントします。この 文字の痕跡により、古いドキュメントから移行されたコンテンツ内の間違ったダッシュや引用符を見た開発者は、推測することなく省略記号引用符、箇条書きダッシュ、および商標を評価できるようになります。
コンテンツの最新化 - UTF-8 の正しいコード ポイントまたは文字自体に置き換えます。
コンテンツを最新化します。UTF-8 内の正しいコード ポイントまたは文字自体に置き換えます。従来の参照を目的の Unicode 文字またはその正しい Unicode 数値参照に置き換えることによって最新化します。あいまいな履歴データを監査可能な状態に保つため、移行中にオリジナルを保存します。
Windows-1252 互換性レビュー中に、コンテンツを最新化して正しいコードに置き換え、ポイントまたは文字を並べて配置します。開発者は、古いドキュメントから移行されたコンテンツ内で間違ったダッシュと引用符を確認すると、utf 8 内の自分自身が変換時またはダウンストリームで変更されたかどうかを判断できます。 Windows-1252 互換性の証拠に関する 文字の結論は、一般的なセキュリティ主張から除外してください。
この内容の対象外 — MacRoman およびその他の従来のコード ページ、および完全なドキュメント変換
これでカバーされないもの — MacRoman およびその他のレガシー コード ページ、および完全なドキュメント変換。 MacRoman およびその他のコード ページには別の変換テーブルが必要ですが、ここでは推測されません。完全なドキュメント変換には、信頼できるソース エンコーディング メタデータとバイト レベルの処理が必要です。
Windows-1252 互換性を実行する前に、これが実行しないことを定義します。カバー マクロマンなどをコントロールとして保存し、レガシー コード ページの背後にあるコード ポイントを検査し、完全なドキュメント変換を次のインタープリタにマッピングします。これにより、開発者は、 文字を調査する古いドキュメントから移行されたコンテンツ内の間違ったダッシュと引用符を確認して、Windows-1252 互換性の証拠を監査できるようになります。
要点: 意図的に保存されているブラウザの癖 — HTML エンティティ エスケープのデコーダが数値参照の解決方法をどのように示すか、またツール ページのどこでこの範囲をどのように扱うかが記述されるか
要点: 意図的に保存されているブラウザの癖 — HTML エンティティ エスケープのデコーダが数値参照の解決方法をどのように示すか、またツール ページのどこでこの範囲をどのように扱うかを示すか。この動作は意図的な互換性であり、数学的な同一性ではありません。 ToolAcre は、151 および 146 の単体テストでカバーされるのと同じ固定マッピングを使用して、解決された文字を公開します。
ブラウザーの不具合を監視可能な Windows-1252 互換性出力に接続します。ワンパス結果の横に意図的に保存しておいて、HTML エンティティ エスケープがどこに入るのか、デコーダが何を示しているのかを確認します。開発者は、古いドキュメントから移行されたコンテンツ内で間違ったダッシュと引用符を確認し、数値参照が狭い 文字の検出結果として解決されることを確認できるようになりました。この記事の背後にある実際的な決定は具体的です。コード ポイント 128–159 は Unicode の制御文字ですが、ブラウザーは をダッシュとして表示します。この投稿では、互換性のために HTML が標準化した Windows-1252 の再マッピング、そのようなエンティティの出所、およびそれらを最新化する方法について説明します。リーダーのアクションも同様に具体的です。レガシー コンテンツから数値参照をデコードする場所として HTML エンティティ エスケープにリンクします。128–159 範囲の処理に関するツール ページの「テクニカル ノート」へのポインタが含まれます。