Ich versuche einfach, eine Zeichenkette zu entschlüsseln, die ähnlich wie eine XXXXXXXXXXXXXX ist. Aber ich bekomme einen Fehler:
%Vor%Ich bin Python-Neuling. Was ist ein Problem? Danke!
Python versucht, hilfreich zu sein. Sie können Unicode-Daten nicht decodieren, sie sind bereits decodiert. Also wird Python zuerst die Daten verschlüsseln (mit dem ASCII-Codec), um die zu dekodierenden Bytes zu erhalten. Es ist diese implizite Codierung, die fehlschlägt.
Wenn Sie Unicode-Daten haben, ist es nur sinnvoll, encodieren in UTF-8, nicht decodieren:
%Vor% Wenn Sie einen Unicode-Wert haben wollten, genügt es, ein Unicode-Literal ( u'...'
) zu verwenden. Es ist keine weitere Decodierung erforderlich.
Die gleiche implizite Umwandlung findet in der anderen Richtung statt; Wenn Sie versuchen würden, einen Bytestring zu codieren, würden Sie eine implizite Decodierung auslösen:
%Vor%Tags und Links python utf-8 python-2.7 decode