Dans Python2, les chaînes ne peuvent pas prendre entièrement en charge les jeux de caractères internationaux et le codage Unicode. Pour contourner cette limitation, Python 2 utilise un type de chaîne distinct pour les données Unicode. Pour saisir une chaîne littérale Unicode, ajoutez « u » avant le premier guillemet. Les chaînes ordinaires dans Python 2 sont en fait des chaînes d'octets codées (non Unicode). En Python3, il n'est pas nécessaire d'ajouter ce caractère de préfixe, sinon ce sera une erreur de syntaxe, car toutes les chaînes sont déjà codées en Unicode par défaut.
Mais il existe un autre type de chaîne en python3 (apprentissage recommandé : Tutoriel vidéo Python)
type(b'132') => byte型
Et en écrivant comme ça en python2 signalera une erreur
Donc évidemment, il y aura une grande différence dans l'utilisation du décodage et de l'encodage
Le décodage en python2 convertit le type str en type unicode
Décoder en python3 consiste à convertir le type byte en type str
Prenons python3 comme exemple :
src = ‘你好世界’
À l'heure actuelle, str est de type str Si vous devez le convertir en. type d'octet, vous pouvez Passer :
src = src.encode('utf-8')
À ce stade, src est déjà de type octet. Si vous souhaitez le reconvertir en str, utilisez simplement :
src = src .decode()
De plus, l'open. La fonction dans python3 ajoute un paramètre de codage, et la valeur par défaut est UTF-8, c'est-à-dire que lorsque le descripteur de fichier ouvert est lu ou écrit, seuls les caractères str contenant le format Unicode sont reçus.
Si vous transmettez un fichier binaire à ce moment, une erreur sera signalée, par exemple :
with open('a.bin', 'w') as f: f.write('xxx')
Si vous souhaitez lire et écrire des fichiers binaires, vous devez spécifier la méthode d'ouverture comme 'wb' ou 'rb'
De plus, si vous constatez que la page Web ne peut pas s'afficher correctement lors de son exploration, vous devez transcoder le contenu.
Pour plus d'articles techniques liés à Python, veuillez visiter la colonne Tutoriel Python pour apprendre !
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!