Beheben Sie den TypeError: Decoding Unicode Is Not Supported in Python

Zeeshan Afridi 21 Juni 2023
  1. der TypeError: Dekodierung von Unicode wird nicht unterstützt in Python
  2. Beheben Sie den TypeError: Dekodierung von Unicode wird nicht unterstützt in Python
  3. Abschluss
Beheben Sie den TypeError: Decoding Unicode Is Not Supported in Python

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 Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn

Verwandter Artikel - Python Error