Heim >Backend-Entwicklung >Python-Tutorial >Geheimnisse der Python-Zeichenkodierungskonvertierung
Python verfügt über zwei Arten von Zeichenfolgen, str-Objekt und Unicode-Objekt, die beide die Byte-Kodierung von Zeichen speichern können, aber es handelt sich um unterschiedliche Typen. Dies ist sehr wichtig und deshalb gibt es Kodierung und Dekodierung. Die Bedeutung von
encode und decode in pyhton kann ausgedrückt werden als
encode
unicode ---- ------> str
unicode
dekodieren
Mehrere gängige Methoden:
str_string.decode('codec') dient zur Konvertierung von str_string in unicode_string, Codec ist die Codierungsmethode des Quell-str_string
unicode_string.encode( ' codec') ist die Konvertierung von Unicode_string in str_string, Codec ist die Codierungsmethode des Ziels str_string
str_string.decode('from_codec').encode('to_codec') kann eine Konvertierung zwischen str_strings unterschiedlicher Codierung erreichen
Zum Beispiel:
>>> t='Great Wall'
>>> t
'xb3xa4xb3xc7'
>> > t. decode('gb2312').encode('utf-8')
'xe9x95xbfxe5x9fx8e'
str_string.encode('codec') ruft zunächst den Standardcodec des Systems auf, um str_string zu konvertieren ist unicode_string, und konvertieren Sie ihn dann mit dem Codierungsparameter codec in den endgültigen str_string. Entspricht str_string.decode('sys_codec').encode('codec').
unicode_string.decode('codec') ist grundsätzlich bedeutungslos. Unicode verwendet nur eine Unicode-Kodierung in Python, UTF16 oder UTF32 (bereits beim Kompilieren von Python festgelegt), und es ist keine Kodierungskonvertierung erforderlich.
Hinweis: Der Standardcodec wird in der Datei sitecustomize.py unter site-packages angegeben, z. B.
import sys
sys.setdefaultencoding('utf-8')