StringMitUmlaut.encode("utf-8")

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
alan
User
Beiträge: 81
Registriert: Dienstag 10. April 2007, 11:30

StringMitUmlaut.encode("utf-8")

Beitragvon alan » Dienstag 4. September 2007, 12:22

Das ist sicher ganz einfach, aber ich weiß trotzdem nicht weiter.

Code: Alles auswählen

def hash(StringMitUmlaut):
    return StringMitUmlaut.encode("utf-8")


--->
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 0: ordinal not in range(128)
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Re: StringMitUmlaut.encode("utf-8")

Beitragvon gerold » Dienstag 4. September 2007, 12:26

alan hat geschrieben:Das ist sicher ganz einfach

Hallo alan!

Nein, ist es leider nicht: http://www.python-forum.de/topic-5095.html

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
BlackJack

Beitragvon BlackJack » Dienstag 4. September 2007, 12:30

@alan: Du scheinst da wirklich eine Zeichenkette, also den Typ `str` zu haben. Zeichenketten kann man nicht kodieren, das macht nur bei Unicode-Zeichenketten Sinn.

Wie man am Syntax-Highlighting sieht, ist `hash` der Name einer eingebauten Funktion. Die sollte man nach Möglichkeit nicht an andere Objekte binden.
alan
User
Beiträge: 81
Registriert: Dienstag 10. April 2007, 11:30

Beitragvon alan » Dienstag 4. September 2007, 17:55

Hmm danke...ASCII-only wäre die Welt einfacher.. :?
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Dienstag 4. September 2007, 18:44

alan hat geschrieben:ASCII-only wäre die Welt einfacher.. :?

UTF-8 only würde schon reichen.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Re: StringMitUmlaut.encode("utf-8")

Beitragvon mitsuhiko » Dienstag 4. September 2007, 21:51

gerold hat geschrieben:
alan hat geschrieben:Das ist sicher ganz einfach

Hallo alan!

Nein, ist es leider nicht: http://www.python-forum.de/topic-5095.html


Doch. Es ist einfach. Man kann das ganze nämlich auf zwei Dinge reduzieren:
str.decode und unicode.encode

str ist ein Bytestring mit einem bestimmten Encoding, den kann man mit decode(encoding) zu einem unicode String machen der dann kein Encoding mehr hat, sondern nur noch Zeicheninformationen. Wenn man den String dann wieder ausgeben will oder an ein Socket schicken, was weiß ich, da kann man dann wieder mit einem decode(encoding) einen Bytestring in einem bestimmten Encoding draus machen.
TUFKAB – the user formerly known as blackbird

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot], kbr