“python比较”\";用“逃走”来逃走\\";

“python比较”\";用“逃走”来逃走\\";,python,string,replace,escaping,backslash,Python,String,Replace,Escaping,Backslash,嗯 我有两个字符串,“Hello\nWorld!”和Hello\\nWorld。我必须这样比较\n和\\n相等的值 这并不难。我只是string1。替换(“\n”,“\\n”) 但是,如果我必须对所有转义符(包括unicode转义符)正确执行,那么手动替换就不是一个选项了 更新 例如: 我从文件Hello\nWorld中读取(如在编辑器中打开文件时所示)。Python将看到Hello\\nWorld 我想用相等的方式比较最后一个和第一个。使用编码怎么样 >>> 'hello\r

我有两个字符串,
“Hello\nWorld!”
Hello\\nWorld。我必须这样比较
\n
\\n
相等的值

这并不难。我只是
string1。替换(“\n”,“\\n”)

但是,如果我必须对所有转义符(包括unicode转义符)正确执行,那么手动替换就不是一个选项了

更新

例如:

我从文件
Hello\nWorld中读取(如在编辑器中打开文件时所示)。Python将看到
Hello\\nWorld

我想用相等的方式比较最后一个和第一个。

使用编码怎么样

>>> 'hello\r\n'.encode('unicode_escape') == 'hello\\r\\n'
True
>>> 'hello\r\n' == 'hello\\r\\n'.decode('unicode_escape')
True
在Python 3.x中,需要对字符串/字节进行编码/解码:

>>> 'hello\r\n'.encode('unicode_escape').decode() == 'hello\\r\\n'
True
>>> 'hello\r\n' == 'hello\\r\\n'.encode().decode('unicode_escape')
True

这里的大背景是什么?你是在谈论打印字符串和它的字符串之间的区别吗?或者字节字符串(
u'foo'
)和unicode字符串(
u'foo'
)之间的差异?或者这些字符串是否来自已经进行转义的外部源?
\x
不是unicode转义,这是不可打印字节的显示方式。您需要显示一些示例输入。X是示例字符(任意字符)。编辑,希望现在更清楚。