[mailinglist] Re: [Python-de] htmllib und Umlaute
Martin v. Löwis
martin at v.loewis.de
Sun Apr 27 20:59:39 EDT 2003
Klaus Meyer <km-news1 at onlinehome.de> writes:
> >>> "abc\xe4".encode("latin-1")
> Traceback (most recent call last):
> File "<stdin>", line 1, in ?
> UnicodeError: ASCII decoding error: ordinal not in range(128)
>
> Warum ASCII-Decoding error, ich habe doch latin-1 angegeben?
encode: Eingabe ist Unicode-String, Ausgabe Byte-String
decode: Eingabe ist Byte-String, Ausgabe Unicode-String
Aufgrund einer m.E. unglücklichen Verallgemeinerung kann man auch für
Byte-Strings encode aufrufen. Die Semantik von
B.encode(C)
ist
unicode(B).encode(C)
(damit hat man wieder die normale .encode-Semantik); dies wiederum
bedeutet
unicode(B, sys.getdefaultencoding()).encode(C)
Es ist die Konvertierung in Unicode die den Fehler liefert (deshalb
auch "ASCII *decoding* error", obwohl Du .encode rufst.
Ciao,
Martin
More information about the Python-de
mailing list