Seite 1 von 1
Stringumwandlung
Verfasst: Dienstag 26. September 2006, 15:48
von erka
Hallo,
Ich bin ein Anfänger.
Ich möchte folgenden String:
'1234567890'
mittels eines Codes in den folgenden String umwandeln:
'\x12\x34\x56\x78\x90'
Wie kann ich das erreichen?
Vielen Dank
Verfasst: Dienstag 26. September 2006, 16:28
von rayo
Hi
So?
Code: Alles auswählen
a = '1234567890'
l = []
for x in zip(a[::2],a[1::2]):
l.append(chr(int('0x'+x[0]+x[1], 16)))
print repr("".join(l))
Gruss
Verfasst: Mittwoch 27. September 2006, 07:06
von Nirven
Edit: einfach nicht lesen, zu früh am Morgen
Da kommt bei mir aber was anderes raus, so komplex wollte erka das glaube ich garnicht.
Ich habe mal rayos Code als Grundlage genommen:
Code: Alles auswählen
a = '1234567890'
L = ""
for x in zip(a[::2],a[1::2]):
L += ('\\x'+x[0]+x[1])
Damit sind die Backslashes in L escaped, mit print l kommt dann das raus, was du haben wolltest.
Verfasst: Mittwoch 27. September 2006, 13:11
von snlake
Oder mittels binascii.unhexlify:
Code: Alles auswählen
>>> from binascii import unhexlify
>>> s = unhexlify('1234567890')
>>> s
'\x124Vx\x90'
>>> s == '\x12\x34\x56\x78\x90'
True
Stringumwandlung Danke schoen
Verfasst: Donnerstag 5. Oktober 2006, 20:28
von erka
Vielen Dank
snlake, Nirven und rayo.
Ich hatte mehrere Tage schwieriegkeiten mich auf dem python-forum einzuloggen. Eure Vorschlaege konnte ich erst jetzt abrufen und ich werde alle gleich ausprobieren.
Danke
erka
Re: Stringumwandlung Danke schoen
Verfasst: Freitag 6. Oktober 2006, 18:48
von Joghurt
erka hat geschrieben:Ich hatte mehrere Tage schwieriegkeiten mich auf dem python-forum einzuloggen.
Nicht nur du
http://www.python-forum.de/topic-7410.html