Detaillierte Erläuterung der Verwendung der Funktion setdefaultencoding

巴扎黑
Freigeben: 2017-08-21 14:55:53
Original
2170 Leute haben es durchsucht

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函数
Nach dem Login kopieren
Im Lib-Ordner des Python-Installationsverzeichnisses gibt es eine Datei namens site.py, in der Sie main() -->sys.setdefaultencoding(encoding) finden. Da diese site.py jedes Mal automatisch geladen wird, wenn der Python-Interpreter gestartet wird, wird die Hauptfunktion jedes Mal ausgeführt und die Funktion setdefaultencoding wird gelöscht, sobald sie herauskommt.

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage