sys.getdefaultencoding() legt das Standardformat für die Zeichenfolgenkodierung fest. Wenn Sie beim Kodieren und Dekodieren in Python keine Kodierungsmethode angeben, verwendet Python die Standardkodierung.
Die Standardkodierung von python2.x ist ASCII, weshalb die meisten Python-Kodierungsfehler auftreten: „UnicodeDecodeError: ‚ASCII‘-Codec kann Byte nicht dekodieren ...“.
# programming:utf-8, das eine ähnliche Funktion hat, wird verwendet, um die Codierung des Quellcodes zu definieren. Wenn es nicht definiert ist, kann der Quellcode keine chinesischen Zeichenfolgen enthalten Hinweis: setdefaultencoding wurde seit Python2.7 aufgegeben und kann daher nicht in Python3 verwendet werden.
Sie müssen zuerst das sys-Modul neu laden, wenn Sie setdefaultencoding aufrufen, da die Importanweisung hier nicht die erste Importanweisung von sys ist Dies bedeutet, dass es sich möglicherweise um den zweiten oder dritten Import des SYS-Moduls handelt. Hier handelt es sich lediglich um einen Verweis auf SYS, der nur durch Neuladen neu geladen werden kann.
Warum muss es also neu geladen werden, die Funktion kann aber nicht aufgerufen werden, wenn direkt darauf verwiesen wird? Da die Funktion setdefaultencoding nach dem Aufruf durch das System gelöscht wird, ist sie nicht mehr vorhanden, wenn sie durch den Import referenziert wird. Daher muss das sys-Modul einmal neu geladen werden, damit setdefaultencoding verfügbar ist und die aktuelle Zeichenkodierung des Interpreters verfügbar ist im Code geändert.
#!/usr/bin/env python #encoding: utf-8 import sys #引用sys模块进来,并不是进行sys的第一次加载 reload(sys) #重新加载sys sys.setdefaultencoding('utf8') ##调用setdefaultencoding函数
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Verwendung der Funktion setdefaultencoding. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!