【发布时间】:2011-01-18 18:51:25
【问题描述】:
如何将 python 中的转义序列字符“\x13”编码/解码为在 RSS 或 XML 中有效的字符。
用例是,我从任意来源获取数据并为该数据制作 RSS 提要。数据源有时有转义序列字符,这会破坏我的 RSS 提要。
那么如何使用转义序列字符清理输入数据。
【问题讨论】:
标签: python encoding character-encoding
如何将 python 中的转义序列字符“\x13”编码/解码为在 RSS 或 XML 中有效的字符。
用例是,我从任意来源获取数据并为该数据制作 RSS 提要。数据源有时有转义序列字符,这会破坏我的 RSS 提要。
那么如何使用转义序列字符清理输入数据。
【问题讨论】:
标签: python encoding character-encoding
\x13 (ASCII 19, ‘DC3’) 无法转义;它在 XML 1.0 中无效,句号。您可以包含一个,在 XML 1.1 中编码为 &#19; 或 &#x13;,但是您必须包含 <?xml version="1.1"?> 声明,并且许多工具不会喜欢它。
我不知道为什么该字符会包含在您的数据中,但下一步可能是完全删除控制代码。例如:
re.sub('[\x00-\x08\x0B-\x1F]', '', s)
对于某些类型的转义序列(例如 ANSI 颜色代码),您可能会在其中得到杂散(非控制)字符,在这种情况下,您可能需要针对该特定格式的自定义解析器。
【讨论】: