如何在python中编码/解码转义序列字符

时间:2010-02-19 13:24:18

标签: python encoding character-encoding

如何将python中的转义序列字符'\ x13'编码/解码为在RSS或XML中有效的字符。

用例是,我从任意来源获取数据并为该数据制作RSS提要。数据源有时会有转义序列字符,这会破坏我的RSS提要。

那么如何使用转义序列字符清理输入数据。

1 个答案:

答案 0 :(得分:2)

\x13(ASCII 19,'DC3')无法转义;它在XML 1.0,期间无效。您可以包含一个,在XML 1.1中编码为&#19;&#x13;,但是您必须包含<?xml version="1.1"?>声明,许多工具都不会喜欢它

我不知道为什么这个字符会包含在您的数据中,但前进的方法可能是完全删除控制代码。例如:

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

对于某些类型的转义序列(例如ANSI颜色代码),您可能仍然会在其中获得杂散(非控制)字符,在这种情况下,您可能需要针对该特定格式的自定义解析器。