Maison > développement back-end > Tutoriel Python > La différence entre les chaînes python2 et python3

La différence entre les chaînes python2 et python3

(*-*)浩
Libérer: 2019-07-09 10:19:50
original
2335 Les gens l'ont consulté

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.

La différence entre les chaînes python2 et python3

Mais il existe un autre type de chaîne en python3 (apprentissage recommandé : Tutoriel vidéo Python)

type(b'132') => byte型
Copier après la connexion

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 = ‘你好世界’
Copier après la connexion

À 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')
Copier après la connexion

À ce stade, src est déjà de type octet. Si vous souhaitez le reconvertir en str, utilisez simplement :

src = src .decode()
Copier après la connexion

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')
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal