Un codec Python spécial qui semble savoir mais ne sait pas

Les objets chaîne Python vous permettent d'encoder / décoder des chaînes avec un codec spécifique, mais voici quelques-uns des codecs que vous ne connaissiez pas beaucoup.

base64

Comme beaucoup d'entre vous le savent, il encode / décode les chaînes en chaînes ** Base64 **.

>>> "hello".encode("base64")
'aGVsbG8=\n'

zip

Ce codec renvoie les mêmes octets que si la chaîne était compressée avec le module ** Zlib **.

>>> "hello".encode("zip")
'x\x9c\xcbH\xcd\xc9\xc9\x07\x00\x06,\x02\x15'
>>> import zlib
>>> zlib.compress("hello")
'x\x9c\xcbH\xcd\xc9\xc9\x07\x00\x06,\x02\x15' #le même

hex

Ce codec convertit une chaîne en un nombre hexadécimal à 2 chiffres par octet.

>>> "hello".encode("hex")
'68656c6c6f'

bz2

Ce codec utilise bz2 pour compresser les chaînes.

>>> "hello".encode("bz2")
'BZh91AY&SY\x191e=\x00\x00\x00\x81\x00\x02D\xa0\x00!\x9ah3M\x073\x8b\xb9"\x9c(H\x0c\x98\xb2\x9e\x80'

rot13

Ce codec est le [Caesar Code](http://en.wikipedia.org/wiki/%E3%82%B7%E3%83%BC%E3%82%B6%E3%83%BC%E6%9A% Cryptez la chaîne à l'aide de 97% E5% 8F% B7).

>>> "hello".encode("rot_13")
'uryyb'

uu

Ce codec utilise uuencode pour convertir les chaînes.

>>> print "hello".encode("uu")
begin 666 <data>
%:&5L;&\ 
 
end

idna

Ce codec est un code qui convertit la ** chaîne de caractères Unicode ** en une chaîne de caractères décrite au format ASCII sur l'application à partir du nom de domaine saisi en Kanji etc. spécifié dans la RFC3490.

>>> u"Bonjour".encode("idna")
'xn--mdk0c0b'

Il y a plus de codecs spéciaux en Python, mais je ne les utilise pas quotidiennement, donc je n'ai introduit que ces codecs. «zip» et «bz2» sont très pratiques car vous pouvez compresser des chaînes sans utiliser de modules.

Recommended Posts

Un codec Python spécial qui semble savoir mais ne sait pas
Comment corriger un bug qui empêche le notebook Jupyter de démarrer automatiquement
Pourquoi Python doit-il écrire un deux-points?
Les opérations booléennes python ne renvoient pas de valeurs booléennes
Une histoire qui parfois ne marche pas si pip est le dernier
J'ai essayé de créer une fonction de dictionnaire insensible à la casse
Entrée clé qui n'attend pas l'entrée clé en Python
Comment utiliser l'unité esclave LAN sans fil tp-link qui ne prend pas en charge Linux
Une bibliothèque qui semble être bon à savoir lorsqu'elle est forcée à des services WEB AJAX non AJAX
[Python] Comment écrire une docstring conforme à PEP8
[Linux] Comment installer un package sur un serveur qui n’a pas d’environnement Internet (autonome)
Créez un defaultdict qui renvoie un defaultdict pour créer un monde où KeyErrror ne se produit pas (+ exemple d'analyse JSON)
L'histoire selon laquelle pyenv n'a pas passé la commande d'exécution python PATH
Un script Python qui enregistre une image de presse-papiers (GTK) dans un fichier.
[MQTT / Python] Implémentation d'une classe qui fait Pub / Sub de MQTT en Python
Comment écrire une classe méta qui prend en charge à la fois python2 et python3
Un script python qui convertit les données Oracle Database en csv
[Python] Une histoire qui semblait tomber dans un piège à contourner
Une route vers Python intermédiaire
la version de python ne change pas
Python hérite-t-il de méthodes spéciales?
Je souhaite spécifier un fichier qui n'est pas une certaine chaîne de caractères comme cible logrotate, mais est-ce impossible?
Lors de l'incrémentation de la valeur d'une clé qui n'existe pas
L'histoire selon laquelle la version de python 3.7.7 n'était pas adaptée à Heroku
Un one-liner Python qui imprime json json. N'échappez pas au japonais.
Je souhaite utiliser un caractère générique que je souhaite décortiquer avec Python remove
Un enregistrement que GAMEBOY n'a pas pu être fait avec Python. (PYBOY)
[Python] Un mémo que j'ai essayé de démarrer avec asyncio
Un script qui renvoie 0, 1 attaché au premier Python prime
Un guide rapide de PyFlink qui combine Apache Flink et Python
[python] Une note que j'ai commencé à comprendre le comportement de matplotlib.pyplot
[Python] Un programme qui fait pivoter le contenu de la liste vers la gauche
Problème de ne pas casser dans discord.py
5 façons de créer un chatbot Python
N'a pas changé de Python 2 à 3
Présentation d'une bibliothèque qui n'était pas incluse dans pip sur Python / Windows
[Python] J'ai fait un décorateur qui ne semble pas avoir d'utilité.
Présentation de JustPy, un framework Web de haut niveau qui ne nécessite pas de programmation frontale
Avec PEP8 et PEP257, un codage Python qui n'est pas gênant à montrer aux gens!
J'ai créé une application Web en Python qui convertit Markdown en HTML
[Python] Un programme qui calcule le nombre de chaussettes jumelées
Notez que l'environnement Python de Pineapple peut être modifié avec pyenv
J'ai essayé de développer un formateur qui génère des journaux Python en JSON
Comment utiliser hmmlearn, une bibliothèque Python qui réalise des modèles de Markov cachés
Conseils: [Python] Extraire uniquement les lignes qui ne contiennent pas de chaîne spécifique
Un outil polyvalent qui, je pense, est perdu pour les programmeurs qui ne le savent pas
[Python] Traduisons automatiquement le PDF anglais (mais sans s'y limiter) avec la traduction DeepL ou Google pour en faire un fichier texte.