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
Stringumwandlung
-
- User
- Beiträge: 773
- Registriert: Mittwoch 5. November 2003, 18:06
- Wohnort: Schweiz
- Kontaktdaten:
Hi
So?
Gruss
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))
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:
Damit sind die Backslashes in L escaped, mit print l kommt dann das raus, was du haben wolltest.
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])
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
Nicht nur duerka hat geschrieben:Ich hatte mehrere Tage schwieriegkeiten mich auf dem python-forum einzuloggen.
http://www.python-forum.de/topic-7410.html