Die Python-Funktion hex(x) wandelt eine Ganzzahl in ihren Hexadezimal-String mit dem Präfix 0x um. Sie ist das hex-Pendant zu bin() und oct(). Typische Anwendungsfälle: Farbcodes, Speicheradressen, Bitmasken und niedrigstufige Datenrepräsentation.

Einleitung

hex() wandelt eine Ganzzahl in ihre hexadezimale String-Repräsentation mit Präfix 0x (bzw. -0x bei negativen Zahlen). Das Hexadezimalsystem nutzt 16 Ziffern (09, af) und ist in der Programmierung allgegenwärtig — von Speicheradressen über Bitmasken und Maschinenwörter bis zu HTML/CSS-Farbcodes wie #ff0080.

Drei Eigenschaften zeichnen hex() aus:

  • Akzeptiert nur ganze Zahlen (int) oder Objekte mit __index__-Methode (z. B. bool, numpy.int*).
  • Lowercase Buchstaben — wer Großbuchstaben braucht, nutzt einen f-String mit :X.
  • Inverse Operation ist int(s, 16), das einen Hex-String back in eine Ganzzahl wandelt.

Syntax

Python Syntax
hex(x)
Parameter
x

Eine Ganzzahl oder ein Objekt mit __index__()-Methode.

Rückgabewert

Ein String der Form "0x..." (Lowercase) bei positiven Zahlen bzw. "-0x..." bei negativen.

Beispiele

Standard-Konvertierung

Python Beispiel
print(hex(255))
print(hex(16))
print(hex(0))
print(hex(-255))
Output
0xff
0x10
0x0
-0xff

Ohne Präfix mit f-String

Python Beispiel
# Ohne 0x-Präfix
print(f"{255:x}")
# Mit Padding auf 4 Stellen
print(f"{15:04X}")
Output
ff
000F

RGB-Farbcode bauen

Python Beispiel
r, g, b = 10, 142, 161
color = f"#{r:02x}{g:02x}{b:02x}"
print(color)
Output
#0a8ea1

Hex-String back in int

Python Beispiel
value = int("0xff", 16)
print(value)
Output
255

Praktische Beispiele

Bytes als Hex-Dump anzeigen

Python Beispiel
data = b"Hallo!"
# Variante 1: explizit per hex() pro Byte
dump = " ".join(f"{b:02x}" for b in data)
print(dump)

# Variante 2: kompakt via bytes.hex()
print(data.hex())
Output
48 61 6c 6c 6f 21
48616c6c6f21

Bitmaske inspizieren

Python Beispiel
FLAG_READ    = 0b001
FLAG_WRITE   = 0b010
FLAG_EXECUTE = 0b100

permissions = FLAG_READ | FLAG_WRITE
print(f"Maske: {hex(permissions)}  (binär: {bin(permissions)})")
Output
Maske: 0x3  (binär: 0b11)

Hex-Farbcode in RGB zerlegen

Python Beispiel
color = "#0a8ea1"
value = int(color.lstrip("#"), 16)
r = (value >> 16) & 0xff
g = (value >> 8)  & 0xff
b = value & 0xff
print(f"R={r}, G={g}, B={b}")
Output
R=10, G=142, B=161

Praktische Hinweise

  • hex() liefert immer Lowercase. Für Großbuchstaben f-String mit :X nutzen.
  • Präfix 0x mitliefern macht den String selbst-erklärend, lässt sich aber bei Bedarf weglassen mit Slicing oder f-Strings.
  • Float wird nicht akzeptiert — vorher mit int() casten.
  • Verwandte Funktionen: bin() (binär), oct() (oktal), int(s, 16) (Umkehrung).
/ Weiter

Zurück zu Builtin Functions

Zur Übersicht