在字符串中恢复unicode转义编码(Python3)

时间:2017-02-07 16:48:10

标签: python-3.x escaping encode

我有一个字符串my_string,其中包含换行符。因此,如果打印它将引入一个新的行。

最初,我做my_string.encode('unicode_escape').decode("utf-8")

其中print(my_string.encode('unicode_escape').decode("utf-8"))给出了\n

print (repr(my_string))给出了'\\n'

然后,我想要做的是将其转换回原始状态,以便打印换行符,即my_string不显示换行符\n\\n,而只是简单引入新的一条线。

我搜索了encodedecode,但无法弄清楚如何操作。

1 个答案:

答案 0 :(得分:2)

由于您首先使用unicode_escape进行编码,然后使用utf-8进行解码,因此反向操作将与各个操作相反,顺序相反:

>>> x = '\n'
>>> y = x.encode('unicode_escape').decode('utf-8')
>>> y.encode('utf-8').decode('unicode_escape')
'\n'

(袜子/鞋子原则:你首先穿上你的袜子然后穿上你的鞋子;撤消你首先脱掉你的鞋子然后再穿上你的袜子。)