我试图从一个网站获取带有特殊字符的文本,因此Python返回的字符串中充满了“\x”字符。 然而,似乎编码是错误的。 例如,获取时:
th =urllib2.urlopen('http://norse.ulver.com/dct/zoega/th.html')
网页<h1>
级别的行应该包含字母“Þ”,它具有字节号C39E和根据http://www.fileformat.info/info/charset/UTF-8/list.htm的Unicode代码DE
相反,我得到了
^{pr2}$字节号被一分为二,这样当将行写入一个文件,然后用Unicode编码打开它时,我得到的是“Þ”,而不是“Þ”。在
我如何强制Python编码\uC39E
或{
这是U+00DE的正确UTF-8字节编码,需要两个字节来表示它(
\xc3
和\x9e
),但您需要将其解码为Unicode才能看到Unicode码位:上面是一个Unicode字符串,显示了正确的Unicode码位。在UTF-8控制台上打印:
^{pr2}$如果使用错误的编码解码,则会得到不同的Unicode码位。在本例中,U+00C3和U+017E。}是代码点的转义码<;U+10000:
\xc3
是Unicode码位的Unicode字符串中的一个转义码<;U+0100,而{推荐阅读:
相关问题 更多 >
编程相关推荐