2010-02-19 61 views
3

如何在python中將轉義序列字符'\ x13'編碼/解碼爲在RSS或XML中有效的字符。如何在python中對轉義序列字符進行編碼/解碼

用例是,我從任意來源獲取數據併爲該數據創建RSS提要。數據源有時有轉義序列字符,這是打破我的RSS提要。

那麼如何使用轉義序列字符來清理輸入數據。

回答

2

\x13(ASCII 19,'DC3')不能被轉義;它在XML 1.0期間無效。你可以在包含一個,在XML1.1中編碼爲&#19;&#x13;,但你必須包含<?xml version="1.1"?>聲明,許多工具都不會喜歡它。

我不知道爲什麼這個角色會被包含在你的數據中,但前進的方向可能是完全刪除控制代碼。例如:(如ANSI顏色代碼)

re.sub('[\x00-\x08\x0B-\x1F]', '', s) 

對於某些類型的轉義序列的你可能會得到雜散(非控制)字符仍然存在,在這種情況下,你可能要爲一個自定義的解析器特定的格式。

相關問題