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:
- MicroPython: Eingabe und Ausgabe von Text
- MicroPython: Text-Ausgabe formatieren
- MicroPython: REPL - Read-Eval-Print-Loop
- Raspberry Pi Pico: Grundlegende Befehle von MicroPython
- Raspberry Pi Pico: MicroPython
Teilen:
Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython
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
Online-Workshop
Hardware-nahes 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.
Für Ihre Fragen zu unseren Online-Workshops mit dem Raspberry Pi Pico besuchen Sie unseren PicoTalk (Online-Meeting). (Headset empfohlen)
Elektronik-Set Pico Edition
Raspberry Pi Pico: Hardware-nahes Programmieren mit MicroPython
Leichter Einstieg mit All-in-one-Set zum sofort Loslegen, um eigene Steuerungen programmieren.
Elektronik-Set Pico WLAN Edition
Raspberry Pi Pico W: IoT und Smart Home mit WLAN und MQTT
Betreibe Deinen Raspberry Pi Pico W als drahtloser Sensor in Deinem WLAN, versende E-Mails mit Daten und kommuniziere per MQTT im Internet of Things oder Smart Home.
Elektronik-Set Sensor Edition
Erweiterung zu den Elektronik-Sets Pico Edition und Pico WLAN Edition
Elektronik-Set mit den beliebtesten Sensoren zum Messen von Temperatur, Helligkeit, Bewegung, Lautstärke und Entfernung.
Elektronik-Set Eingabe Ausgabe Edition
Erweiterung zu den Elektronik-Sets Pico Edition und Pico WLAN Edition
Damit kannst Du MP3-Dateien abspielen, eine Stoppuhr bauen, einen Servo-Motor mit Drehschalter oder Joystick steuern, Lichteffekte mit einem WS2812-LED-Lichtstreifen erzeugen, Schalten mit einem Relais und Signalisieren mit einem Vibrationsmotor.