python - python 2.7中Unicode字符串到ASCII的转换

标签 python python-2.7 unicode character-encoding ascii

我有一个有趣的问题。

我将一个 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/

相关文章:

python - 如果 deepcopy() 不起作用,如何复制 Python 类实例?

python - 如何从Python MySQL数据库中获取数据到文本框中?

python - 替换或删除 python 中的特定 unicode 字符

javascript - Python 类 JavaScript 中的函数模拟

python - 为什么我的非常简单的 Python 脚本失败了?

python - 使用python计算csv文件中的逗号

Python 无效的格式字符串

perl - Perl 标识符中允许使用哪些字符?

android - 将刻度线 (✔) 添加到 string.xml

visual-c++ - 是否可以仅使用 Windows API 将 UTF32 文本转换为 UTF16?