【发布时间】:2018-03-07 19:49:30
【问题描述】:
我有一个有趣的问题。
我将一个 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 python-2.7 unicode character-encoding ascii