String zu Hex in Python

Manav Narula 10 Oktober 2023
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 Narula avatar Manav Narula avatar

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.

LinkedIn

Verwandter Artikel - Python String

Verwandter Artikel - Python Hex