簡體   English   中英

python中用於非unicode和非ascii for HTML的綜合字符替換模塊

[英]Comprehensive character replacement module in python for non-unicode and non-ascii for HTML

是否有一個全面的字符替換模塊用於python,它在字符串中查找所有非ascii或非unicode字符,並用ascii或unicode等效項替換它們? 在編碼或解碼過程中對“忽略”參數的這種舒適感是瘋狂的,但同樣也是“?” 在每個非翻譯角色的地方。

我正在尋找一個找到令人討厭的字符的模塊,並將它們符合要求的標准。 我意識到現有的字母和編碼數量使得這有點不可能,但是肯定有人對它進行了嘗試? 即使是初步的解決方案也會比現狀更好。

這意味着數據傳輸的簡化是巨大的。

我不認為你想要的是真的可能 - 但我認為有一個不錯的選擇。

unicodedata有一個'normalize'方法,可以優雅地降級文本...

import unicodedata
def gracefully_degrade_to_ascii( text ):
    return unicodedata.normalize('NFKD',text).encode('ascii','ignore')

假設您正在使用的字符集已映射到unicode - 或者至少可以映射到unicode - 您應該能夠使用此模塊將該文本的unicode版本降級為ascii或utf-8(它是標准的一部分)圖書館也)

完整文檔 - http://docs.python.org/library/unicodedata.html

要查看任何單個字符並猜測其編碼將很難並且可能不是非常准確。 但是,您可以使用chardet嘗試檢測整個文件的編碼。 然后,您可以使用字符串decode()和encode()方法將其編碼轉換為UTF-8。

http://pypi.python.org/pypi/chardet

UTF-8向后兼容ASCII,因此不會有什么大不了的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM