Heim >Backend-Entwicklung >Python-Tutorial >Geheimnisse der Python-Zeichenkodierungskonvertierung

Geheimnisse der Python-Zeichenkodierungskonvertierung

高洛峰
高洛峰Original
2016-10-19 11:41:361529Durchsuche

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')


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Python-Multithreading-ThreadNächster Artikel:Python-Multithreading-Thread