Erste Buchstabe bei 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.
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Erste Buchstabe bei UTF-8...

Beitragvon jens » Donnerstag 30. März 2006, 09:53

Ich benötige den ersten Buchstaben eines Wortes... Das macht man normalerweise einfach mit first_letter = item[0] Wenn das Wort allerdings mit einem Sonderzeichen beginnt und das in UTF-8 encodiert ist, besteht dieser Buchstabe ja eigentlich aus zwei.
Deswegen hab ich folgendes gemacht:

Code: Alles auswählen

            first_letter = item[0].upper()
            try:
                if item.encode("String_Escape").startswith(r"\x"):
                    first_letter = item[:2].upper()
            except:
                pass


Jemand eine bessere Lösung?

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

Beitragvon rayo » Donnerstag 30. März 2006, 10:09

Wenn es doch ein Unicode-String ist kannst du doch genau gleich item[0] machen, nur sind es dann intern halt ev. 2 bytes.

Bin aber nicht sicher, hab noch nicht viel mit Unicode gemacht.

Gruss
Benutzeravatar
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

Beitragvon Joghurt » Donnerstag 30. März 2006, 14:02

Code: Alles auswählen

utf8 = '\xc3\x9cbler UTF-8-String'
item = utf8.decode("utf-8")
print item[0]
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Freitag 31. März 2006, 07:07

Ich mach nun eine konvertierung zu unicode und dann wieder zurück: http://www.python-forum.de/viewtopic.php?p=34028#34028

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

Beitragvon Joghurt » Freitag 31. März 2006, 13:20

Warum wieder zurück? Unicodestring sind doch von der Funktionalität her identisch...

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder