如何在Python中对转义序列字符进行编码/解码

3

如何在Python中编码/解码转义序列字符'\x13',使其成为适用于RSS或XML的有效字符。

使用情况是,我从任意来源获取数据并为该数据创建RSS源。数据源有时会包含转义序列字符,这会破坏我的RSS源。

那么,我应该如何消毒带有转义序列字符的输入数据呢?

1个回答

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 颜色代码),您可能会收到一些非控制字符,此时您可能需要针对该特定格式使用自定义解析器。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接