String zu Hex in Python
Hexadezimalwerte haben eine Basis von 16. In Python wird hexadezimalen Zeichenketten das Präfix 0x
vorangestellt.
Mit der Funktion hex()
wird eine Dezimalzahl in ihre jeweilige Hexadezimalzahl konvertiert. Zum Beispiel,
a = 102
print(hex(a))
Ausgabe:
0x66
Wir können Float-Werte auch mit der Funktion hex()
und der Funktion float()
in hexadezimal konvertieren. Der folgende Code implementiert dies.
a = 102.18
print(float.hex(a))
Ausgabe:
0x1.98b851eb851ecp+6
Mit dieser Funktion können wir keinen String konvertieren. Wenn wir also eine Situation haben, in der wir eine hexadezimale Zeichenkette haben und diese in die hexadezimale Zahl konvertieren möchten, können wir dies nicht direkt tun. In solchen Fällen müssen wir diese Zeichenkette mit der Funktion int()
in den erforderlichen Dezimalwert konvertieren und dann mit der zuvor beschriebenen Funktion hex()
in die Hexadezimalzahl konvertieren.
Der folgende Code zeigt dies.
hex_s = "0xEFA"
a = int(hex_s, 16)
hex_n = hex(a)
print(hex_n)
Ausgabe:
0xefa
Zeichen in der Zeichenkette haben keinen entsprechenden Hexadezimalwert. Wenn wir jedoch eine Zeichenkette mit der Funktion encode()
in ein Objekt vom Typ Byte konvertieren, können wir sie mit der Funktion hex()
in ihren hexadezimalen Wert konvertieren.
Zum Beispiel,
s = "Sample String".encode("utf-8")
print(s.hex())
Ausgabe:
53616d706c6520537472696e67
Im obigen Code codieren wir die Zeichenkette im Typ utf-8
und konvertieren sie in Bytetypen.
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedInVerwandter Artikel - Python String
- Entfernen Kommas aus String in Python
- Wie man prüft, ob eine Zeichenkette auf pythonische Weise leer ist
- Konvertieren einer Zeichenkette in einen Variablennamen in Python
- Wie man Leerzeichen in einem String in Python entfernt
- Wie man in Python Zahlen aus einer Zeichenkette extrahiert
- Wie man in Python String in datetime konvertiert