Funktionsweise der Umwandlung eines Strings in einen Hexstring und umgekehrt in Python.
Vor ein paar Tagen wurde ich gefragt, ob ich wisse, wie ein String, z.B. “Hallo” in den entsprechenden Hexwert umgewandelt wird. Da ich zunächst passen musste und dies nicht auf mir sitzen lassen wollte, habe ich nochmal scharf nachgedacht.
Da ich mal Base64 in Python umgesetzt hatte und man dort die Zeichen zunächst in ihre binäre Darstellung gebracht hat, dachte ich mir, man könnte das bei Hex auch mal so versuchen.
Die Vermutung hat sich bestätigt, denn nach den ersten Zeilen Python-Code konnte ich die Ausgabe meiner StrToHex Funktion erfolgreich mit einem Onlinedienst verifizieren.
Die Umwandlung ist also kein Geheimnis mehr:
Lese das erste Zeichen aus dem String
Wandle das Zeichen in den entsprechenden ASCII-Zeichenwert um
Rechne die Decimalzahl in eine Hexadecimal um
Füge das Ergebnis an einen Ergebnisstring an
Wiederhole Schritt 1 bis 4, solange noch Zeichen im String sind.
StrToHex
1 2 3 4 5 6 7 |
|
HexToStr
1 2 3 4 5 6 |
|
Aufrufe
1 2 |
|
Fazit
Man kann das alles noch schöner implementieren, jedoch soll das hier nur die grobe Funktionsweise darstellen.
Gruß
gehaxelt