sys.getdefaultencoding() définit le format d'encodage de chaîne par défaut. Si vous ne spécifiez pas la méthode d'encodage lors de l'encodage et du décodage en python, alors python utilisera l'encodage par défaut.
L'encodage par défaut de python2.x est ascii, c'est pourquoi la plupart des erreurs d'encodage python : "UnicodeDecodeError : le codec 'ascii' ne peut pas décoder l'octet...".
#coding:utf-8, qui a une fonction similaire, est utilisé pour définir l'encodage du code source. S'il n'est pas défini, le code source ne peut pas contenir de chaînes chinoises
. Remarque : Setdefaultencoding a été abandonné depuis python2.7, il ne peut donc pas être utilisé dans python3
Vous devez d'abord recharger le module sys lors de l'appel de setdefaultencoding, car l'instruction import ici n'est pas réellement la première instruction import de sys. , ce qui signifie que cela peut en fait être la deuxième ou la troisième fois que le module sys est utilisé, voici juste une référence à sys, qui ne peut être rechargé qu'en reload.
#!/usr/bin/env python #encoding: utf-8 import sys #引用sys模块进来,并不是进行sys的第一次加载 reload(sys) #重新加载sys sys.setdefaultencoding('utf8') ##调用setdefaultencoding函数
#!/usr/bin/env python #encoding: utf-8 import sys sys.setdefaultencoding('utf8')
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!