Sorry, dass ich so lange eine Antwort schuldig blieb, hatte leider keine Zeit.
Ich bin eigentlich davon ausgegangen, dass ich meiner Methode generell einen String übergebe und von der wieder einen String zurückerhalte. Diesen dann halt iso-8859-15 konform....
Wenn ich mir meine Versuche genauer anschauen komme ich irgendwie zum Schluss, dass ich mir die Doku hätte genauer durchlesen sollen!
Ich bin irgendwie intuitiv davon ausgegangen, dass unichr() und chr() prinzipiell für Zeichen bis 255 das Gleiche zurückgibt!
Code: Alles auswählen
>>> print unichr(164)
¤
>>> print chr(164)
¤
Code: Alles auswählen
>>> type(chr(164))
<type 'str'>
>>> type(unichr(164))
<type 'unicode'>
Denke jetzt hats geschnaggelt!
@BlackJack
Würde ich das einfacher lösen können wenn ich direkt auf Bytes arbeite?
Wie gesagt ich gehe eigentlich davon aus, dass ich an die Methode einen String übergebe und auch wieder zurückbekomme und "intern" arbeite ich ja eigentlich auf Bytes, oder?
Code: Alles auswählen
# hier string
for i in xrange(0, len(data)):
#Bytes
zeichenIdx = ord(data[i]) + ord(ck[i])
if zeichenIdx > 255:
zeichenIdx -= 256
#String
result += unichr(zeichenIdx)
Gruß,
Simon