Forum: PC-Programmierung [Python] Konvertierung von ASCII string in einen Hex Wert


von einzweidrei (Gast)


Lesenswert?

Hallo,

ich habe folgendes Problem

Ich habe eine Textdatei die wie folgt aussieht:

0111,
1010,
...

die Werte stellen die binäre Representation einer Zahl da.
Ich möchte diese Werte zu einen Byte zusammenfügen und in einen Hex wert 
umwandeln.

Es soll also in der Textdatei folgendes stehen:

7A,
...

Meine idee ist beide Zeilen einzulesen und die Beiden Strings zusammen 
zu fügen.
Aber wie kann ich Python dazu bewegen das ganze als Binäre Zahl zu 
interpretieren, damit ich es in Hex konvertieren kann?
Und wie wandle ich den Hex Wert wieder in einen String?

MFG

von yalu (Gast)


Lesenswert?

Nachdem du die beiden Strings in s1 und s2 eingelesen hast, ergibt
der Ausdruck
1
  '%0X' % int(s1 + s2, 2)

das gewünschte Ergebnis als zweistellige Hexzahl, ggf. mit führender 0.

von daniel (Gast)


Lesenswert?

du hast die Wahl!
schaue dir die Funktionen bin,oct,hex
übrigens kann Python auch naitive 0b0111, 0xFF, 0o77

von daniel (Gast)


Lesenswert?

und zurückwandeln natürlich mit str(...)
python hat ja die interaktive shell, dort kannst du
ganz bequem alles ausprobieren

von glax (Gast)


Lesenswert?

Bei der Methode/Funktion bin muss beachtet werden, dass es sie erst seit
python 2.6 gibt. (Zuindest unter Windows bin ich da mal auf die Nase
gefallen, das hat ja immer noch kein anständiges Paket-Management ;-))

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.