2010-02-19 62 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) 

对于某些类型的转义序列的你可能会得到杂散(非控制)字符仍然存在,在这种情况下,你可能要为一个自定义的解析器特定的格式。

相关问题