Ascii nach Binär

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
alpha
User
Beiträge: 195
Registriert: Freitag 23. Mai 2003, 23:24
Wohnort: Ulm

Ascii nach Binär

Beitragvon alpha » Dienstag 24. März 2009, 11:48

Hallo Leute,

kann ich über eine Socketverbindung nur Strings schicken. Ich möchte aber Binärdaten (Bytearrays quasi) darüber verschicken. Gibts da eine eingebaute Funktion in Python oder wie kann ich das wandeln?

Danke für eure Antworten.

Grüße
alpha
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Beitragvon sma » Dienstag 24. März 2009, 12:07

Bis Python 3.0 sind Strings in Wirklichkeit Bytearrays und der Typ `unicode` beschreibt "echte" Strings die den Großteil des Unicode-Zeichensatzes abdecken. Erst ab Python 3.0 wurde das korrigiert. Du kannst also einfach mit `str`-Exemplaren arbeiten.

Stefan
alpha
User
Beiträge: 195
Registriert: Freitag 23. Mai 2003, 23:24
Wohnort: Ulm

Beitragvon alpha » Dienstag 24. März 2009, 13:19

Hallo sma,

danke stimmt ja.. Wie sag ich es unter Python >2.5, daß
mein String ein Bytearray ist?

Grüße
alpha
DasIch
User
Beiträge: 2423
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Beitragvon DasIch » Dienstag 24. März 2009, 13:25

@alpha In Python 2.6 hat sich dass nicht geändert... In Python 3 gibt es dafür `bytes`.
alpha
User
Beiträge: 195
Registriert: Freitag 23. Mai 2003, 23:24
Wohnort: Ulm

Beitragvon alpha » Dienstag 24. März 2009, 13:58

Noch eine Frage...
Wenn ich nen String habe:
x = '1000'

und ich möchte ihn so haben:

x = '\x03\xe8'

(also hex('1000'))
Wie kann ich sowas bewekstelligen? Gibts da schon ne fertige Routine, oder muss ich mir das selbst zusammenschustern?

alpha
BlackJack

Beitragvon BlackJack » Dienstag 24. März 2009, 18:14

@alpha: Da musst Du die Zeichenkette in eine Zahl umwandeln und kannst dann das `struct`-Modul verwenden.
alpha
User
Beiträge: 195
Registriert: Freitag 23. Mai 2003, 23:24
Wohnort: Ulm

Beitragvon alpha » Mittwoch 25. März 2009, 09:32

@Blackjack
Super, das ist ja genau das was ich gesucht habe. Vielen Dank. Typisch Python... es gibt fast nichts was man selber noch programmieren muß, aber die Fülle von Modulen erschlägt einen halt manchmal :-)

Gruß
alpha

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder