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