我正在處理的HTML文件通常是utf-8,但有一些破損的編碼,因此無法轉換爲Unicode。我的想法是將它們解析爲二進制文件,並在第一步中用html代碼替換所有正確的utf-8編碼。如何將二進制文件中的utf-8代碼轉換爲python中的html代碼3
e.g. "\xc2\xa3" to £
在第二步,我會用適當的編碼替換破損的編碼。
我被困在第一步。替換單個字符可替換:
string.replace(b'\xc3\x84', b'Ä')
從表中取代碼映射不起作用。在閱讀表格時,utf-8代碼會被轉義(b'\ xc3 \ x84'),我無法找到擺脫雙斜槓的方法。但應該有一個乾淨的,應該把它?
什麼樣的方式是編碼被破壞? FWIW,我更傾向於走相反的方向:只使用命名實體'" & < >'也許' ',並使用UTF-8的一切。除非你需要支持真正的古老和/或破碎的軟件...... –
E.g.我得到'\ x84',它應該是'„',但是如果我在替換所有正確的utf-8代碼之前替換(b'\ x84',b'„'),我正在銷燬正確的utf-8代碼像'\ xc3 \ x84'(ak'Ä'),其中\ x84是其中的一部分。所以,我認爲在替換之前我必須「保護」utf-8代碼。 – Laxas