Beheben Sie den TypeError: Decoding Unicode Is Not Supported in Python
-
der
TypeError: Dekodierung von Unicode wird nicht unterstützt
in Python -
Beheben Sie den
TypeError: Dekodierung von Unicode wird nicht unterstützt
in Python - Abschluss
In diesem Artikel wird die Lösung des Fehlers TypeError: decoding Unicode is not supported
in Python besprochen.
der TypeError: Dekodierung von Unicode wird nicht unterstützt
in Python
Ein Unicode-String ist eine Sammlung von Codepunkten, die Ziffern im Bereich von 0
bis 0x10FFFF
(1.114.111 dezimal) sind. Der Satz von Codeeinheiten, die verwendet werden müssen, um diese Reihe von Codepunkten im Speicher darzustellen, wird dann auf 8-Bit-Bytes abgebildet.
Eine Zeichencodierung oder einfach eine Codierung ist eine Reihe von Regeln, die bestimmen, wie ein Unicode-Text in eine Reihe von Bytes konvertiert wird. Ihr anfänglicher Gedanke könnte sein, 32-Bit-Ganzzahlen als Codiereinheit zu verwenden und dann die CPU-Darstellung von 32-Bit-Ganzzahlen zu verwenden.
Eine der am weitesten verbreiteten Codierungen ist UTF-8, die Python häufig standardmäßig verwendet. UTF steht für Unicode Transformation Format und 8
zeigt an, dass die Kodierung 8-Bit-Werte verwendet.
Es gibt andere Kodierungen wie UTF-16 und UTF-32, obwohl sie weniger beliebt sind als UTF-8.
Beispielcode:
result = unicode(google.searchGoogle(param), "utf-8").encode("utf-8")
Ausgang:
TypeError: decoding Unicode is not supported
Beheben Sie den TypeError: Dekodierung von Unicode wird nicht unterstützt
in Python
Um diesen Fehler zu beheben, müssen wir die Syntax dieser Zeile result = Unicode(google.searchGoogle(param), "utf-8").encode("utf-8")
in result = google.searchGoogle(param).encode("utf-8")
. UTF-8 sollte nach google.searchGoogle(param)
entfernt werden. Dadurch wird der Fehler behoben, dass Unicode nicht unterstützt wird, wie im folgenden Beispiel gezeigt
result = google.searchGoogle(param).encode("utf-8")
Ein anderer ist der TypeError: decoding str is not supported
in Python. Dies tritt auf, wenn wir wiederholt versuchen, ein Objekt in einen String umzuwandeln, oder wenn wir die Methode str()
aufrufen, ohne ihr zuerst das Bytes-Objekt zu übergeben.
Beispielcode:
str("even", str(123))
str("abc", encoding="utf-8")
Ausgang:
TypeError: decoding str is not supported
Die Klasse str
wird im obigen Beispiel zweimal referenziert; jeder Aufruf ist ineinander verschachtelt. Ein richtiges bytes-Objekt wird nicht bereitgestellt; Stattdessen wird das Schlüsselwortargument für die Codierung festgelegt.
Nur wenn ein gültiges Bytes-Objekt angegeben wird, kann die Kodierung konfiguriert werden.
Um diesen Fehler zu vermeiden, können Sie ein formatiertes Zeichenfolgenliteral verwenden. Dieser Fehler kann mit der String-Format-Schnittstelle oder den neueren formatierten String-Literalen verhindert werden.
Darüber hinaus bieten diese Optionen leistungsfähigere, anpassungsfähigere und erweiterbare Methoden.
str1 = "even"
num1 = 2, 4, 6, 8
result = f"{str1} {num1}"
print(result)
Ausgang:
even (2, 4, 6, 8)
Abschluss
Manchmal, wenn wir unsere Ausgabe in UTF-8 kodieren wollen, aber nicht die richtige Syntax verwenden, tritt der Python-Fehler Dekodierung von Unicode wird nicht unterstützt
auf, weil kein korrektes Bytes-Objekt bereitgestellt wird. Ein weiterer Fehler beim Decodieren von str
wird in Python nicht unterstützt tritt auf.
Nur wenn ein gültiges Bytes-Objekt bereitgestellt wird, kann die Codierung definiert werden. Der obige Artikel behebt diese Fehler.
Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedInVerwandter Artikel - Python Error
- Adresse wird bereits verwendet Fehler in Python
- AttributeError: __Exit__ in Python
- AttributeError: 'Dict'-Objekt hat kein Attribut 'Append' in Python
- AttributeError: 'NoneType'-Objekt hat kein Attribut 'Text' in Python
- AttributeError: Int-Objekt hat kein Attribut
- AttributeError: Modul Urllib hat keine Attributanforderung