Maison développement back-end Tutoriel Python Explication détaillée du codage des caractères en Python

Explication détaillée du codage des caractères en Python

Jun 16, 2017 am 10:49 AM
python 字符编码

L'éditeur suivant vous proposera un article sur le codage de caractères de base de Python. L'éditeur pense que c'est plutôt bien, alors je vais le partager avec vous maintenant et le donner comme référence. Suivons l'éditeur et jetons un coup d'œil.

Avant-propos

L'encodage des caractères est très facile à se tromper, nous doit garder quelques choses à l'esprit Dans une phrase :

1. Quel encodage est utilisé pour l'enregistrer, quel encodage doit être utilisé pour l'ouvrir

2. l'exécution du programme consiste d'abord à lire le fichier dans la mémoire

3. Unicode est le codage parent et ne peut être codé et décodé que dans d'autres formats de codage

GBK est un. encodage sub-8 et ne peut être décodé qu'en Unicode

1 Qu'est-ce que l'encodage de caractères

Nous savons que les ordinateurs ne peuvent reconnaître que le binaire, et les codes que nous écrivons habituellement doivent être convertis en binaire pour être reconnus par l'ordinateur. Alors, comment convertir les caractères que nous écrivons en binaire ? Ce processus utilise en fait une norme pour faire correspondre les caractères que nous écrivons à des nombres spécifiques. Cette norme est appelée codage de caractères.

Caractère------(Encodage des caractères)------->Numéro

2. Historique de développement de l'encodage des caractères

1. Code ASCII

Les ordinateurs sont originaires des États-Unis et le codage des caractères est également originaire des États-Unis. Mais les caractères utilisés par le peuple américain ne comportent que 26 lettres, plus quelques symboles spéciaux. Contrairement à la Chine, les élèves du primaire doivent connaître des milliers de caractères chinois. Ainsi, les Américains utilisent le code ASCII (American Standard Code for Information Interchange) comme codage de caractères. Un octet représente un caractère 1 octet = 8 bits, ce qui représente 256 changements différents, mais initialement seulement les 7 premiers. ont été utilisés, soit 127 caractères, ce qui est suffisant pour le peuple américain (bien sûr pour des raisons de coût). Plus tard, le latin a été compilé en 8ème position. À ce stade, les codes ASCII sont pleins et les pays anglophones et latins peuvent jouer avec bonheur.

2.GBK

Bien que la technologie chinoise ne soit actuellement pas aussi bonne que celle de l'empire américain, nous avons un cœur positif, donc, en 1980 , l'Administration d'État des normes a publié le codage de caractères utilisé en chinois -> GBK, qui utilise deux octets pour représenter un caractère chinois, de sorte qu'il y ait 2 à la puissance 16, soit 65 536 combinaisons, ce qui est suffisant pour les caractères chinois.

Dans le même temps, d'autres pays ont également publié leurs propres normes nationales de codage de caractères, telles que shift_JIS au Japon, Euc-kr en Corée du Sud, etc.

3. Unicode

On dit qu'il y avait des centaines d'encodages de caractères à leur apogée, et ils ne se soutenaient pas. Il semble que les gens de tous les pays soient très forts d'esprit, mais ça. n'est pas propice à l'interopérabilité du monde, c'est pourquoi Unicode est né. En 1994, l'Organisation internationale de normalisation a publié Unicode, connu sous le nom de Code universel, qui utilise deux octets pour représenter un caractère et compte 65 536 combinaisons, ce qui peut déjà couvrir la plupart des langues du monde.

4.utf-8

Bien qu'Unicode soit bon, il y a un problème que l'anglais peut être exprimé en un octet est maintenant To. utilisez deux octets, l'espace de stockage est doublé, ce qui n'est évidemment pas parfait, c'est pourquoi UTF-8 a été créé, qui n'utilise que 1 octet pour les caractères anglais et 3 octets pour les caractères chinois.

5. Tous les caractères Unicode sont sur deux octets, ce qui est simple et grossier. La conversion des caractères en nombres est rapide, mais elle prend beaucoup d'espace de stockage

utf-8 utilise différentes longueurs pour représenter différents caractères, économisant ainsi de l'espace, mais l'efficacité de la conversion n'est pas aussi rapide qu'Unicode

Le codage de caractères utilisé dans la mémoire est Unicode, et la mémoire est d'accélérer, donc je préfère sacrifier un peu d'espace, mais aussi assurer la vitesse

La transmission du disque dur et du réseau utilise utf-8, car le délai d'E/S disque ou d'E/S réseau est bien supérieur à l'efficacité de la conversion de l'utf-8 et la transmission réseau doivent économiser autant que possible la bande passante

3. Exécution de l'interpréteur Python

La première étape :

l'interpréteur python démarre, cela équivaut à démarrer un éditeur de texte

La deuxième étape :

L'interpréteur python sert d'éditeur de texte pour ouvrir le t. py et copiez le fichier t.py depuis le disque dur. Le contenu est lu dans la mémoire

La troisième étape :

L'interpréteur python interprète et exécute simplement le code de t.py. chargé en mémoireLa deuxième étape, le fichier t.py a un encodage de caractères lors de l'enregistrement, et la même méthode d'encodage doit être spécifiée lorsque l'interpréteur Python ouvre le fichier (la méthode d'encodage par défaut de Python2 est ASCII, et la méthode d'encodage par défaut de Python3 est utf-8). Si le format d'encodage de l'enregistrement du fichier est différent de celui de l'interpréteur Python, la méthode d'encodage par défaut de l'interpréteur est différente, vous devez donc écrire #coding : au début. du fichier pour indiquer à l'interpréteur Python de ne pas utiliser sa méthode de codage par défaut pour lire, mais d'utiliser la méthode spécifiée par le fichier d'en-tête pour lire le fichier, afin que vous ne puissiez pas vous tromper.

La troisième étape : lire le code qui a été chargé en mémoire (Unicode par défaut), puis l'exécuter. Lors du processus d'exécution, si des opérations telles que la définition de variables sont rencontrées, un nouvel espace mémoire sera ouvert dans le fichier. mémoire. Veuillez noter à ce stade que l'espace mémoire nouvellement ouvert n'est pas nécessairement Unicode. L'utilisateur peut spécifier la méthode d'encodage lors de la définition de la variable. L'espace mémoire ouvert lors de la définition n'est qu'un espace et peut stocker des codes dans n'importe quel format d'encodage. Prenons Python3 comme exemple

4. Encodage et décodage

Enregistrer un fichier consiste à enregistrer le fichier en mémoire Vers le disque dur

La lecture de fichiers consiste à lire les fichiers du disque dur dans la mémoire

Unicode est l'encodage parent, utf -8, GBK sont les encodages enfants. Si le sous-code veut être converti en d'autres codes, il doit d'abord être converti en code parent, puis converti du code parent en d'autres sous-codes

Le décodage est le décodage, qui est le processus de conversion du sous-code en code parent Unicode

L'encodage est un encodage, qui est le processus de conversion d'Unicode en d'autres encodages

Comme je l'ai déjà dit, lorsqu'un fichier est lu dans mémoire, il devient un encodage Unicode (bien sûr, c'est la valeur par défaut, et peut également être modifié selon les instructions), Le processus de lecture des fichiers du disque dur consiste à décoder l'utf-8 du disque dur en Unicode

. Lorsque le fichier est enregistré, c'est le processus de sauvegarde de la mémoire sur le disque dur. Le disque dur est codé en utf-8 et doit être codé par Unicode en utf-8

5. La différence entre Python2 et Python3

1 Le codage par défaut de Python2 est ASCII, ouvrez utf-8 pour enregistrer Une erreur sera signalée lors de la saisie. le fichier.#coding doit être ajouté au fichier d'en-tête : utf-8

Str en Python2 est reconnu comme Bytes, donc str en Python2 est le résultat de l'encodage. En fait, cela sera fait par défaut. . Le problème est d'ajouter un u devant str, de le convertir d'abord en Unicode et de l'encoder en octets

Il existe deux types de chaînes dans Python2, str et Unicode str peuvent être convertis en ajoutant un 'u. ' devant. Convertir en Unicode

2. La méthode d'encodage par défaut de python 3 est utf-8, vous pouvez ouvrir directement les fichiers enregistrés en utf-8

Str en Python3 est reconnu. comme Unicode

Il existe également deux types de chaînes (bytes et str) dans Python3, mais les bytes sont des octets et str est unicode

6. Imprimez sur le terminal

Tout d'abord, vous devez savoir que la méthode d'encodage par défaut du terminal Windows est GBK

Le terminal est également une application et s'exécute en mémoire, donc le processus de l'impression avec print() se fait de la mémoire au milieu de la mémoire. Ainsi, pour Unicode, quelle que soit la façon dont vous imprimez, il n'y aura pas d'erreur. Cependant, dans Python2, à l'exception de la chaîne avec « u », les autres chaînes sont des octets. À l'heure actuelle, le terminal utilise le codage GBK, tandis que Python2 utilise le codage GBK. utf-8 spécifié ou code Ascii par défaut, une erreur se produira lors de l'impression dans le terminal.

Voici ma compréhension actuelle. Si je me rends compte qu'il y a des erreurs ou des expressions peu claires à l'avenir, je les réviserai. Hélas, l'encodage des caractères est un écueil

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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
4 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment embellir le format XML Comment embellir le format XML Apr 02, 2025 pm 09:57 PM

L'embellissement XML améliore essentiellement sa lisibilité, y compris l'indentation raisonnable, les pauses-lignes et l'organisation des étiquettes. Le principe est de traverser l'arbre XML, d'ajouter l'indentation en fonction du niveau et de gérer les balises et les balises vides contenant du texte. La bibliothèque XML.ETREE.ElementTree de Python fournit une fonction Pretty_xml () pratique qui peut implémenter le processus d'embellissement ci-dessus.

Comment ouvrir le format XML Comment ouvrir le format XML Apr 02, 2025 pm 09:00 PM

Utiliser la plupart des éditeurs de texte pour ouvrir des fichiers XML; Si vous avez besoin d'un affichage d'arbre plus intuitif, vous pouvez utiliser un éditeur XML, tel que Oxygen XML Editor ou XMLSPY; Si vous traitez les données XML dans un programme, vous devez utiliser un langage de programmation (tel que Python) et des bibliothèques XML (telles que XML.ETREE.ElementTree) pour analyser.

La modification XML nécessite-t-elle une programmation? La modification XML nécessite-t-elle une programmation? Apr 02, 2025 pm 06:51 PM

La modification du contenu XML nécessite une programmation, car elle nécessite une recherche précise des nœuds cibles pour ajouter, supprimer, modifier et vérifier. Le langage de programmation dispose de bibliothèques correspondantes pour traiter XML et fournit des API pour effectuer des opérations sûres, efficaces et contrôlables comme les bases de données de fonctionnement.

Y a-t-il une application mobile qui peut convertir XML en PDF? Y a-t-il une application mobile qui peut convertir XML en PDF? Apr 02, 2025 pm 08:54 PM

Une application qui convertit le XML directement en PDF ne peut être trouvée car ce sont deux formats fondamentalement différents. XML est utilisé pour stocker des données, tandis que PDF est utilisé pour afficher des documents. Pour terminer la transformation, vous pouvez utiliser des langages de programmation et des bibliothèques telles que Python et ReportLab pour analyser les données XML et générer des documents PDF.

Existe-t-il un outil gratuit XML à PDF pour les téléphones mobiles? Existe-t-il un outil gratuit XML à PDF pour les téléphones mobiles? Apr 02, 2025 pm 09:12 PM

Il n'y a pas d'outil XML à PDF simple et direct sur mobile. Le processus de visualisation des données requis implique une compréhension et un rendu complexes des données, et la plupart des outils dits "gratuits" sur le marché ont une mauvaise expérience. Il est recommandé d'utiliser des outils côté informatique ou d'utiliser des services cloud, ou de développer vous-même des applications pour obtenir des effets de conversion plus fiables.

La vitesse de conversion est-elle rapide lors de la conversion du XML en PDF sur le téléphone mobile? La vitesse de conversion est-elle rapide lors de la conversion du XML en PDF sur le téléphone mobile? Apr 02, 2025 pm 10:09 PM

La vitesse du XML mobile à PDF dépend des facteurs suivants: la complexité de la structure XML. Méthode de conversion de configuration du matériel mobile (bibliothèque, algorithme) Méthodes d'optimisation de la qualité du code (sélectionnez des bibliothèques efficaces, optimiser les algorithmes, les données de cache et utiliser le multi-threading). Dans l'ensemble, il n'y a pas de réponse absolue et elle doit être optimisée en fonction de la situation spécifique.

Comment convertir les fichiers XML en PDF sur votre téléphone? Comment convertir les fichiers XML en PDF sur votre téléphone? Apr 02, 2025 pm 10:12 PM

Il est impossible de terminer la conversion XML à PDF directement sur votre téléphone avec une seule application. Il est nécessaire d'utiliser les services cloud, qui peuvent être réalisés via deux étapes: 1. Convertir XML en PDF dans le cloud, 2. Accédez ou téléchargez le fichier PDF converti sur le téléphone mobile.

Comment convertir XML en PDF sur votre téléphone? Comment convertir XML en PDF sur votre téléphone? Apr 02, 2025 pm 10:18 PM

Il n'est pas facile de convertir XML en PDF directement sur votre téléphone, mais il peut être réalisé à l'aide des services cloud. Il est recommandé d'utiliser une application mobile légère pour télécharger des fichiers XML et recevoir des PDF générés, et de les convertir avec des API Cloud. Les API Cloud utilisent des services informatiques sans serveur et le choix de la bonne plate-forme est crucial. La complexité, la gestion des erreurs, la sécurité et les stratégies d'optimisation doivent être prises en compte lors de la gestion de l'analyse XML et de la génération de PDF. L'ensemble du processus nécessite que l'application frontale et l'API back-end fonctionnent ensemble, et il nécessite une certaine compréhension d'une variété de technologies.

See all articles