Ich habe ein Problem mit meiner Codierung in Python. Ich habe verschiedene Methoden ausprobiert, aber ich kann anscheinend nicht den besten Weg finden, meine Ausgabe in UTF-8 zu codieren.
Das versuche ich zu tun:
result = unicode(google.searchGoogle(param), "utf-8").encode("utf-8")
searchGoogle
Gibt das erste Google-Ergebnis für zurück param
.
Dies ist der Fehler, den ich bekomme:
exceptions.TypeError: decoding Unicode is not supported
Weiß jemand, wie ich Python dazu bringen kann, meine Ausgabe in UTF-8 zu codieren, um diesen Fehler zu vermeiden?
python
encoding
utf-8
character-encoding
simonbs
quelle
quelle
unicode()
nur herumgespielt und versucht zu verstehen, was passiert ist. Vielen Dank :-)ascii' codec can't decode byte 0xc3 in position
. Weißt du warum das so ist?.encode()
aufrufen, versucht Python zuerst, in Unicode zu konvertieren (mithilfe der ASCII-Codierung). Ich weiß nicht, warum searchGoogle () manchmal Unicode und manchmal einen String zurückgibt. Vielleicht hängt es davon ab, was Sie gebenparam
? Versuchen Sie, sich an einen Typ zu halten.def uors2u(object, encoding=..., errors=...)
dieobject
param unverändert zurückgibt, wenn es bereits in Unicode ist, oder es konvertieren, wenn str. Dieser Code riecht jedoch. Sie sollten alle Eingaben in Unicode konvertieren, sobald Sie sie von außen erhalten (wie ein Dateisystem), und sie bei Bedarf zurückkonvertieren, bevor Sie sie zurücksenden. Es sollte nur eine Stelle geben, an der Sie str in Unicode konvertieren, sodass eine Hilfsfunktion wie die von mir beschriebene nicht benötigt werden sollte.