是否有一个等同于echo -e
的python?
换句话说,是否有内置函数可以在Python中将r"\x50\x79\x74\x68\x6f\x6e"
转换为"Python"
?
修改的 我添加了'r'前缀,以确保每个人都明白我不希望python解释器转换它。相反,我想将这个24个字符的字符串转换为6个字符的字符串。
答案 0 :(得分:10)
我刚刚找到的正确方法是
>>> a = r"\x50\x79\x74\x68\x6f\x6e"
>>> print a
\x50\x79\x74\x68\x6f\x6e
>>> a.decode('string_escape')
'Python'
在测试时确保你正在逃避反斜杠(或使用原始'r'前缀)!
参考文献:
答案 1 :(得分:3)
无需转换。它们已经是相同的字符串
>>> "\x50\x79\x74\x68\x6f\x6e" == "Python"
True
如果实际上有一个不同的字符串"\\x50\\x79\\x74\\x68\\x6f\\x6e"
实际上包含反斜杠("\x50\x79\x74\x68\x6f\x6e"
不包含任何反斜杠),那么你会做
>>> s
'\\x50\\x79\\x74\\x68\\x6f\\x6e'
>>> s.decode('string-escape')
'Python'