我有一个字符串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
,而只是简单引入新的一条线。
我搜索了encode
和decode
,但无法弄清楚如何操作。
答案 0 :(得分:2)
由于您首先使用unicode_escape进行编码,然后使用utf-8进行解码,因此反向操作将与各个操作相反,顺序相反:
>>> x = '\n'
>>> y = x.encode('unicode_escape').decode('utf-8')
>>> y.encode('utf-8').decode('unicode_escape')
'\n'
(袜子/鞋子原则:你首先穿上你的袜子然后穿上你的鞋子;撤消你首先脱掉你的鞋子然后再穿上你的袜子。)