


Explication détaillée du codage des caractères en 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'UnicodeLe 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 vitesseLa 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 passante3. 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-8Str 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 octetsIl existe deux types de chaînes dans Python2, str et Unicode str peuvent être convertis en ajoutant un 'u. ' devant. Convertir en Unicode2. La méthode d'encodage par défaut de python 3 est utf-8, vous pouvez ouvrir directement les fichiers enregistrés en utf-8Str en Python3 est reconnu. comme UnicodeIl existe également deux types de chaînes (bytes et str) dans Python3, mais les bytes sont des octets et str est unicode6. Imprimez sur le terminal
Tout d'abord, vous devez savoir que la méthode d'encodage par défaut du terminal Windows est GBKLe 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 écueilCe 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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds

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.

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 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.

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.

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 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.

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.

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.
