我有波兰语单词“WAZ”,这意味着“蛇”无法转换ASCII为UTF-8在python
,但我从ASCII web服务得到它,所以:
snake_in_polish_in_ascii="w\xc4\x85\xc5\xbc"
有结果我想:
print str(snake_in_polish_in_ascii) #this prints me w─ů┼╝
snake_in_polish_in_ascii.decode('utf-8')
print str(snake_in_polish_in_ascii) #this prints me w─ů┼╝ too
和验证码:
print str(snake_in_polish_in_ascii.encode('utf-8'))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc4 in position 1: ordinal not in range(128)
我使用的是永井,在Windows XP时波兰文化:产生异常。
在文件的顶部,我有:
# -*- coding: utf-8 -*-
我无法找到一个方法来解决这个问题。为什么我不能在输出中获得“wąż”?
在Mac OS X我只需打印 “W \ XC4 \ X85 \ XC5 \命苦” 的事情得到正确的输出。确保你的终端支持unicode。你也可以尝试'decode'而不是'encode'来将字符串转换成'unicode'对象。 – 2011-03-15 12:58:51
您不可能*实际*以ASCII接收该单词,因为第二个和第三个字符不能用ASCII表示。 Web服务很可能使用UTF-8,但不能保证。像亚历克斯,我怀疑你的*显示*问题是由于你的终端。 – 2011-03-15 12:59:59