我有一个有趣的问题。
我将一个 Unicode 字符串传递给一个变量,我想将其转换为普通的 ASCII 字符串。
我似乎不知道如何在 Python2.7 中做到这一点。
以下内容在 Python3 中有效
rawdata = '\u003c!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"\u003e'
b = bytearray()
b.extend(map(ord, rawdata))
c = ''.join(chr(i) for i in b)
如果我调用 print(c)
,我会得到一个漂亮、干净的输出:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
但是当我在Python2.7中调用它时,它仍然打印Unicode转义字符(实质上再次打印rawdata
变量)。
我做错了什么?一定有一个我没有调用的简单电话。
最佳答案
所以我在发布这篇文章后两分钟就找到了答案。
答案是在 Python 2.7 中执行以下操作
rawdata = '\u003c!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"\u003e'
asciistr = rawdata.decode("raw_unicode_escape")
print asciistr
关于python - python 2.7中Unicode字符串到ASCII的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46428973/