【发布时间】:2026-01-27 04:30:01
【问题描述】:
我正在尝试从网站获取带有特殊字符的文本,因此 Python 返回的字符串中充满了“\x”字符。 但是,似乎编码是错误的。 例如,在获取时:
th =urllib2.urlopen('http://norse.ulver.com/dct/zoega/th.html')
网页<h1>级别的行应包含字母“Þ”,其字节数为C39E,Unicode代码DE根据http://www.fileformat.info/info/charset/UTF-8/list.htm
相反,我得到了
'<h1>\xc3\x9e</h1>'
将字节数分成两部分,因此在将行写入文件然后使用 Unicode 编码打开它时,我得到的是“Þ”而不是“Þ”。
如何强制 Python 编码 \uC39E 或 \xde 这样的字符,而不是 \xc3\x9e?
【问题讨论】:
-
听起来一切正常,但你搞混了。不用担心;这是相当普遍的。不要使用 Latin-1 或代码页 1251 工具来检查 UTF-8(或继续;但要了解您正在查看的内容)。
-
术语更正:0xC3 0x9E是U+00DE的UTF-8 编码。
标签: python unicode escaping urllib2