Ich möchte mit meinem Code ein Toolkit ansprechen, welches nur unicode-strings akzeptiert.
Gut dachte ich, kein Problem - packste über jeden ASCII-String den du an das Toolkit schicken willst nen unicode() drum rum.
Das geht auch solange, wie der ASCII-String keine Sonderzeichen enthält.
Einfaches Bsp.:
Code: Alles auswählen
>>> string='*&&/$üöäÜÖÄÖÜ'
>>> print string
*&&/$üöäÜÖÄÖÜ
>>> print unicode(string)
Traceback (most recent call last):
File "<stdin>", line 1, in ?
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 5: ordinal not in range(128)
Aber umgekehrt ?? Jedes ASCII-Zeichen ist im UNICODE-Satz vertreten - sogar mit der selben ID (ascii(char) == utf8(char)).
Habe ich zu naiv gedacht? Die Strings hole ich mir von einer Webseite über HTTP und möchte die unicode-konvertiert an das Toolkit weitergeben - also in Form von Pseudocode:
toolkit(unicode(urllib.urlopen('http://www.google.de')))
Wenn diese Seite jetzt Sonderzeichen enthält (was sie tut), dann wird die selbe exception geschmissen wie im vorhergehenden Bsp.
Wie bekomme ich nun also meine Daten von der Seite inkl. Sonderzeichen zum Toolkit?
Vielen Dank im voraus und einen schönen Sonntag noch,
d@tenmaulwurf