開發者工具 · HTML 實體轉義器
為什麼 呈現為破折號:HTML 的 Windows-1252 實體怪癖
· 背景
html 統一碼 相容性
代碼點 128–159 是 Unicode 中的控製字符,但瀏覽器將 呈現為破折號。這篇文章解釋了 Windows-1252 重新映射 HTML 標準化的兼容性、此類實體的來源以及如何對它們進行現代化改造。
破折號是一個控製字元 — 在遷移的內容中遇到 和 並想知道它們為什麼要渲染
破折號是一個控製字元 - 在遷移的內容中遇到 和 ,並想知道它們為什麼要渲染。舊內容可能包含 需要破折號和 需要大寫撇號。將這些數字作為普通 Unicode 控制項讀取會產生不可見或破壞性的輸出。
要驗證 字符,請建構短劃線,以便開發人員在從舊文件遷移的內容中看到錯誤的短劃線和引號。 Preserve 是一個控製字符,而 Windows-1252 相容性產生滿足 150 和 146 的要求;確定遷移的內容在何處以及被消耗。關於為什麼它們渲染的觀察結果只屬於 HTML 文字。
C1 控制範圍 — U+0080–U+009F 應該是什麼,以及為什麼它們永遠不是可列印文字
C1 控制範圍 — U+0080–U+009F 應該是什麼,以及為什麼它們永遠不是可列印文字。 C1 區間 U+0080 到 U+009F 保留用於控制功能,而不是普通的可列印排版。令人驚訝的字形來自相容性映射,而不是名義代碼點。
開發人員在從舊檔案遷移的內容中看到錯誤的破折號和引號時,可以透過記錄 Windows-1252 相容性傳遞之前的 u 0080 u 內容來測試 c1 控制範圍。之後應該比較 009f 並找到負責的解析器及其原因。這個 字元結果說明永遠不是可列印文字,不是可執行上下文。
數字的來源 — Windows-1252 由文字處理器和早期編輯器貼上到 HTML 中的位元組值
數字的來源 — Windows-1252 由文字處理器和早期編輯器貼上到 HTML 中的位元組值。舊的創作工作流程將 Windows-1252 位元組值視為 Unicode 數字。在檔案遷移到 Unicode 編碼很久之後,遷移的 HTML 仍保留了這些十進位參考。
隔離簡短的 Windows-1252 相容性範例中的數字。從 windows 1252 位元組顯示為文字來源,遵循貼上到 html 中的值到其目的地,並命名由文字處理器讀取的 API。對於 字符,早期的編輯器仍然是解析器綁定的證據。
相容性重新映射 — HTML 解析演演算法如何將這些參考對應到 Windows-1252 字符
相容性重新映射 — HTML 解析演演算法如何將這些參考對應到 Windows-1252 字元。解碼器包含明確 Windows-1252 映射。它會在 String.fromCodePoint 之前更改選定的值,將瀏覽器相容的結果(例如十進位 151 )配對到長破折號。
將相容性重新映射視為邊界實驗。開發人員在從舊檔案遷移的內容中看到錯誤的破折號和引號時,應保留 html 解析演演算法,執行一個 Windows-1252 相容性操作,並在更改 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 相容性之前定義它不執行的操作。將 cover Macroman 和其他檔案儲存為控件,檢查遺留程式碼頁後面的程式碼點,並將完整檔案轉換對應到下一個解釋器。這使得 Windows-1252 相容性證據對於開發人員在從調查 字元的舊檔案遷移的內容中看到錯誤的破折號和引號時是可審核的。
重點:故意保留的瀏覽器怪癖 — HTML 實體轉義器的解碼器如何顯示數字引用解析的內容,以及工具頁面在何處說明它如何處理此範圍
重點:故意保留的瀏覽器怪癖 — HTML 實體轉義器的解碼器如何顯示數字引用解析的內容,以及工具頁面在何處說明它如何處理此範圍。這種行為是有意的兼容性,而不是數學上的一致性。 ToolAcre 使用 151 和 146 的單元測試所涵蓋的相同固定映射來公開已解析的字元。
將瀏覽器怪癖連接到可觀察的 Windows-1252 相容性輸出。故意保留一次性結果旁邊的方式,然後驗證 html 實體轉義器進入解碼器的位置顯示什麼。開發人員在從舊檔案遷移的內容中看到錯誤的破折號和引號現在可以檢查數字引用解析為窄 字元查找結果。本文背後的實際決策是具體的:代碼點 128–159 是 Unicode 中的控製字符,但瀏覽器將 呈現為破折號。這篇文章解釋了 Windows-1252 重新映射 HTML 標準化的兼容性、此類實體的來源以及如何對它們進行現代化改造。讀者操作同樣具體:連結到 HTML 實體轉義器,作為從舊內容中解碼數字引用的位置,並帶有指向工具頁面的「技術說明」的指針,用於處理 128–159 範圍。