【发布时间】:2021-01-25 20:28:05
【问题描述】:
在 Python3 中,与 Python2 相比,内置 repr() 函数的行为发生了变化。
在python2中
repr("Дует Світязь")
"'\\xd0\\x94\\xd1\\x83\\xd0\\xb5\\xd1\\x82 \\xd0\\xa1\\xd0\\xb2\\xd1\\x96\\xd1\\x82\\xd1\\x8f\\xd0\\xb7\\xd1\\x8c'"
在 Python3 中
repr("Дует Світязь")
"'Дует Світязь'"
如何让 repr() 在 Python3 中像在 Python2 中一样工作,或者作为另一种将字符串转换为转义字符的方法 在我的代码中。我将查找表中的转义字符用于我的 LCD 显示转换例程。
平台是Raspberry Pi OS(Raspbian)。
我也尝试过使用 reprlib() 没有成功。它提供与 repr() 相同的输出。使用 string.encode 可以在某种程度上证明解决方案,但结果与 Python2 repr() 不同
txt = "Дует Світязь"
txt.encode('utf8')
b'\xd0\x94\xd1\x83\xd0\xb5\xd1\x82 \xd0\xa1\xd0\xb2\xd1\x96\xd1\x82\xd1\x8f\xd0\xb7\xd1\x8c'
【问题讨论】:
-
“repr() 在 Python3 中的工作与在 Python2 中相同“ - 我认为你不能。升级确实需要一些费用。
标签: python-3.x repr