mikrocontroller.net

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


Autor: einzweidrei (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: yalu (Gast)
Datum:

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

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

Autor: daniel (Gast)
Datum:

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

Autor: daniel (Gast)
Datum:

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

Autor: glax (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ;-))

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.