Python-Spezialcodec, der zu wissen scheint, aber nicht weiß

Mit Python-String-Objekten können Sie Strings mit einem bestimmten Codec codieren / decodieren. Hier sind jedoch einige der Codecs, über die Sie nicht viel wussten.

base64

Wie viele von Ihnen wissen, werden Strings in ** Base64 ** -Strings codiert / decodiert.

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

zip

Dieser Codec gibt dieselben Bytes zurück, als ob die Zeichenfolge mit dem Modul ** Zlib ** komprimiert worden wäre.

>>> "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' #das Gleiche

hex

Dieser Codec konvertiert eine Zeichenfolge in eine zweistellige Hexadezimalzahl pro Byte.

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

bz2

Dieser Codec verwendet bz2 zum Komprimieren von Zeichenfolgen.

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

Dieser Codec ist [Caesar Code](http://en.wikipedia.org/wiki/%E3%82%B7%E3%83%BC%E3%82%B6%E3%83%BC%E6%9A% Verschlüsseln Sie die Zeichenfolge mit 97% E5% 8F% B7).

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

uu

Dieser Codec verwendet uuencode, um Zeichenfolgen zu konvertieren.

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

idna

Dieser Codec ist ein Codecode, der ** Unicode-Zeichenfolge ** aus dem in Kanji usw. eingegebenen Domänennamen usw., der in RFC3490 angegeben ist, in eine im ASCII-Format in der Anwendung beschriebene Zeichenfolge konvertiert.

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

Es gibt mehr spezielle Codecs in Python, aber ich benutze sie nicht täglich, deshalb habe ich nur diese Codecs eingeführt. zip und bz2 sind sehr praktisch, da Sie die Zeichenfolge ohne Verwendung eines Moduls komprimieren können.

Recommended Posts

Python-Spezialcodec, der zu wissen scheint, aber nicht weiß
So beheben Sie einen Fehler, bei dem das Jupyter-Notebook nicht automatisch gestartet wird
Warum muss Python einen Doppelpunkt schreiben?
Die boolesche Python-Operation gibt keinen booleschen Wert zurück
Eine Geschichte, die manchmal nicht funktioniert, wenn pip die neueste ist
Ich habe versucht, ein Wörterbuch ohne Berücksichtigung der Groß- und Kleinschreibung zu erstellen
Schlüsseleingabe, die nicht auf Schlüsseleingabe in Python wartet
Verwendung der TP-Link-WLAN-Slave-Einheit, die Linux nicht unterstützt
Eine Bibliothek, die gut zu wissen scheint, wenn sie zu AJAX-Nicht-AJAX-WEB-Diensten gezwungen wird
[Python] So schreiben Sie eine Dokumentzeichenfolge, die PEP8 entspricht
[Linux] So installieren Sie ein Paket auf einem Server ohne Internetumgebung (eigenständig)
Erstellen Sie ein Standarddikt, das ein Standarddikt zurückgibt, um eine Welt zu erstellen, in der KeyErrror nicht auftritt (+ JSON-Parsing-Beispiel).
Die Geschichte, dass pyenv den Python-Ausführungsbefehl PATH nicht bestanden hat
Ein Python-Skript, das ein GTK-Bild (Clipboard) in einer Datei speichert.
[MQTT / Python] Implementierte eine Klasse, die Pub / Sub von MQTT in Python ausführt
So schreiben Sie eine Meta-Klasse, die sowohl Python2 als auch Python3 unterstützt
Ein Python-Skript, das Oracle-Datenbankdaten in CSV konvertiert
[Python] Eine Geschichte, die in eine Rundungsfalle zu geraten schien
Ein Weg zum mittleren Python
Python-Version wechselt nicht
Erbt Python spezielle Methoden?
Ich möchte eine Datei, die keine bestimmte Zeichenfolge ist, als logrotate Ziel angeben, aber ist es unmöglich?
Beim Inkrementieren des Werts eines Schlüssels, der nicht vorhanden ist
Die Geschichte, dass die Version von Python 3.7.7 nicht an Heroku angepasst wurde
Ein Python-Einzeiler, der Json hübsch druckt. Entkomme nicht Japanisch.
Ich möchte einen Platzhalter verwenden, den ich mit Python entfernen möchte
Ein Datensatz, den GAMEBOY mit Python nicht erstellen konnte. (PYBOY)
[Python] Ein Memo, das ich versucht habe, mit Asyncio zu beginnen
Ein Skript, das 0, 1 an die erste Python-Primzahl zurückgibt
Eine Kurzanleitung zu PyFlink, die Apache Flink und Python kombiniert
[Python] Ein Hinweis, dass ich das Verhalten von matplotlib.pyplot zu verstehen begann
[Python] Ein Programm, das den Inhalt der Liste nach links dreht
Problem, discord.py nicht einzubrechen
5 Möglichkeiten zum Erstellen eines Python-Chatbots
Hat sich nicht von Python 2 auf 3 geändert
Einführung einer Bibliothek, die unter Python / Windows nicht in pip enthalten war
[Python] Ich habe einen Dekorateur gemacht, der keinen Nutzen zu haben scheint.
Einführung von JustPy, einem High-Level-Webframework, für das keine Front-End-Programmierung erforderlich ist
Mit PEP8 und PEP257 ist es nicht peinlich, Python-Codierung zu zeigen!
Ich habe eine Webanwendung in Python erstellt, die Markdown in HTML konvertiert
[Python] Ein Programm, das die Anzahl der gepaarten Socken berechnet
Ein Hinweis, mit dem Sie die Python-Umgebung von Pineapple mit pyenv ändern können
Ich habe versucht, einen Formatierer zu entwickeln, der Python-Protokolle in JSON ausgibt
Verwendung von hmmlearn, einer Python-Bibliothek, die versteckte Markov-Modelle realisiert
Tipps: [Python] Extrahieren Sie nur Zeilen, die keine bestimmte Zeichenfolge enthalten
Ein Allzweckwerkzeug, von dem ich denke, dass es für Programmierer verloren geht, die dies nicht wissen
[Python] Lassen Sie uns automatisch englische PDF-Dateien (ohne darauf beschränkt zu sein) mit DeepL- oder Google-Übersetzung übersetzen, um daraus eine Textdatei zu machen.