2 Mart 2010, Salı
Python: hatasız ASCII Unicode Dönüştürme
Benim kodu sadece bir web sayfası sıyrıklar, Unicode dönüştürür.
html = urllib.urlopen(link).read()
html.encode("utf8","ignore")
self.response.out.write(html)
Ama UnicodeDecodeError
.
Traceback (most recent call last):
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/webapp/__init__.py", line 507, in __call__
handler.get(*groups)
File "/Users/greg/clounce/main.py", line 55, in get
html.encode("utf8","ignore")
UnicodeDecodeError: 'ascii' codec can't decode byte 0xa0 in position 2818: ordinal not in range(128)
HTML bazı yanlış biçimlendirilmiş Unicode bir yere girişimi içerir varsayıyorum. Sadece bayt soruna neden yerine bir hata alıyorsanız ne olursa olsun bırakabilir miyim?
CEVAP
2 Mart 2010, Salı
>>> u'aあä'.encode('ascii', 'ignore')
'a'
DÜZENLEME:
Seni geri kazanmak, Content-Type
başlıktaki yanıt olarak, ya da meta
uygun etiket ya da tek bir karakter kümesi kullanılarak, kodlama dize getirir.
Bunu Paylaş:
Neden varsayılan kodlama ASCII olduğun...
Nerede Python'in "en iyi Bu ...
Dönüştürme kaçtı ascıı dize dizeleri U...
Python bir karakterin ASCII değeri...
Python string dönüştürme tamsayı?...