如何在Python中编码/解码转义序列字符'\x13',使其成为适用于RSS或XML的有效字符。
使用情况是,我从任意来源获取数据并为该数据创建RSS源。数据源有时会包含转义序列字符,这会破坏我的RSS源。
那么,我应该如何消毒带有转义序列字符的输入数据呢?
如何在Python中编码/解码转义序列字符'\x13',使其成为适用于RSS或XML的有效字符。
使用情况是,我从任意来源获取数据并为该数据创建RSS源。数据源有时会包含转义序列字符,这会破坏我的RSS源。
那么,我应该如何消毒带有转义序列字符的输入数据呢?
\x13
(ASCII 19, ‘DC3’)无法转义;在XML 1.0中是无效的。在XML 1.1中,您可以使用编码为
或
的方式来包含它,但是您必须包括<?xml version="1.1"?>
声明,而且许多工具不支持它。
我不知道为什么会在数据中包含该字符,但前进的方法可能是完全删除控制代码。例如:
re.sub('[\x00-\x08\x0B-\x1F]', '', s)
对于某些转义序列(例如 ANSI 颜色代码),您可能会收到一些非控制字符,此时您可能需要针对该特定格式使用自定义解析器。