MicroPython: Zeichen in die hexadezimale Darstellung konvertieren

Hexadezimale Zahlen basieren auf der Basis von 16. Gemeint ist damit, dass jede hexadezimale Stelle 16 Werte annehmen kann. Im Vergleich dazu hat eine dezimale Stelle nur 10 Werte, die von 0 bis 9 reichen. Eine hexadezimale Stelle reicht von 0 bis 9 und A, B, C, D, E und F. In diesem Fall sind die Buchstaben von A bis F Zahlenwerte.

Normalerweise werden hexadezimale Zahlen benutzt, um Bitfolgen bzw. binäre Werte abzukürzen. Eine 4-stellige Bitfolge lässt sich als eine hexadezimale Zahl darstellen. Die binäre Schreibweise von „0000“ wäre in der hexadezimalen Schreibweise „0“. Ein binärer Wert von „1111“ wäre ein hexadezimales „F“. Auf diese Weise vereinfacht man die Darstellung von Bitfolgen.

Beispiele für die hexadezimale Darstellung sind:

  • IPv6-Adressen
  • RGB-Farbcodes
  • Zeichen im Unicode

Übersicht

  • Dezimale Ganzzahlen in hexadezimale Zahlen konvertieren
  • Hexadezimale Zahlen in dezimale Zahlen konvertieren
  • Text in die hexadezimale Darstellung konvertieren
  • Hexadezimale Darstellung in Text konvertieren

Hinweis: Die folgenden Befehle können direkt in die Kommandozeile eines Python bzw. MicroPython-Interpreters eingeben werden. Zum Beispiel auch die MicroPython-REPL.

Dezimale Ganzzahlen in hexadezimale Zahlen konvertieren

Ganzzahlen bzw. ganze Zahlen sind Zahlen ohne Nachkommastellen. Die meisten Computersysteme und Programmiersprachen kennen dafür den Datentyp Integer, kurz Int.

Um eine dezimale Ganzzahl in eine hexadezimale Zahl zu konvertieren gibt es in Python und MicroPython die hex() Methode.

hex(255)

Das Ergebnis ist 0xff. Was bedeutet das?

Der ausgegebene String ist mit „0x“ gekennzeichnet, was das „ff“ als hexadezimale Zahl kennzeichnet. Das heißt, die dezimale Ganzzahl „255“ entspricht der hexadezimalen Zahl „ff“. Wichtig zu verstehen ist, beide Werte, also „255“ und „ff“, sind gleich, nur die Darstellung ist eine andere.

Hexadezimale Zahlen in dezimale Zahlen konvertieren

Der umgekehrte Weg erfolgt mit der int() Methode.

int(0xff)

Das Ergebnis ist wieder 255.

Text in die hexadezimale Darstellung konvertieren

Python und MicroPython haben keine eingebauten Methoden, um Text in die hexadezimale Darstellung zu konvertieren. Allerdings existiert für Python das Modul „binascii“ und für MicroPython „ubinascii“ mit mehreren Methoden, um von der binären, hexadezimalen und ASCII-codierten Darstellung umzurechnen.

Das Ergebnis ist die hexadezimale Darstellung bzw. hexadezimale Repräsentation der binären Form.

import ubinascii as binascii
binascii.hexlify('abc')

Das Ergebnis ist b'616263'. Das bedeutet, jedes Text-Zeichen entspricht einer hexadezimalen Zahl mit 2 Stellen. Das kleine „a“ ist „61, das „b“ ist „62“ und „c“ ist „63“.

Hinweis: Eine Zeichen in der Textform (ASCII) entspricht 8 Bit. Beim Konvertieren einer Bitfolge mit einer Länge von 8 Bit in die hexadezimale Darstellung entsteht eine hexadezimale Zeichenkette mit zwei Stellen. Jede hexadezimale Stelle entspricht 4 Bit.

Hexadezimale Darstellung in Text konvertieren

Der umgekehrte Weg funktioniert natürlich auch. Die folgende Methode konvertiert die hexadezimale Zeichenfolge in die Textform zurück.

binascii.unhexlify(b'616263')

Zahlen als Text in die hexadezimale Darstellung konvertieren

In der Informatik können Zahlen auf mehrere Arten interpretiert werden. Als Zahl oder als Text.

import ubinascii as binascii
binascii.hexlify('255')

Das Ergebnis ist b'323535'.

Wichtig ist hier, jede Stelle der Zahl „255“ wurde als Text-Zeichen interpretiert und in ihren hexadezimalen Wert umgewandelt. Hätte man den Wert „255“ als Zahl interpretiert und in die hexadezimale Darstellung umgewandelt, dann wäre der binäre Wert nur 8 Bit lang. Als Text braucht die Zahl aber 3 x 8 Bit.

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython

Elektronik-Set Pico Edition

Das Elektronik-Set Pico Edition ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit MicroPython.

  • LED: Einschalten, ausschalten, blinken und Helligkeit steuern
  • Taster: Entprellen und Zustände anzeigen
  • LED mit Taster einschalten und ausschalten
  • Ampel- und Lauflicht-Steuerung
  • Elektronischer Würfel
  • Eigene Steuerungen programmieren

Elektronik-Set jetzt bestellen Online-Workshop buchen

Online-Workshop: Programmieren mit dem Raspberry Pi Pico

Programmieren mit dem Raspberry Pi Pico

Gemeinsam mit anderen und unter Anleitung experimentieren? Wir bieten unterschiedliche Online-Workshops zum Raspberry Pi Pico und MicroPython an. Einführung in die Programmierung, Sensoren programmieren und kalibrieren, sowie Internet of Things und Smart Home über WLAN und MQTT.

Online-Workshop buchen

Besuchen Sie unser fast monatlich stattfindendes Online-Meeting PicoTalk und lernen Sie uns kennen. Die Teilnahme ist kostenfrei.

Termine und Newsletter-Anmeldung

 

Elektronik-Sets für das Hardware-nahe Programmieren