unicode-eingabe

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.
Antworten
herakli
User
Beiträge: 9
Registriert: Dienstag 8. August 2006, 21:30

Hallo,
Ich habe ein Frage zum Thema Unicode. Mir ist inzwischen bekannt, wie sich unicode-strings darstellen und dann ausgeben lassen. Wie kann man aber solche über die Tastatur eingeben, um sie dann im Programm zu verwenden? (man möchte z.B. den String u"Andr\202" über die Tastatur eingeben. Allein mit raw_input wird man da nicht weit kommen). Gibt es hierfür eine Möglichkeit?

mfg
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

es gibt input^^
http://www.cs.unm.edu/~dlchao/flake/doom/
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

murph hat geschrieben:es gibt input^^
@murph: Ach wie lustig -- wieder mal einen Anfänger auf die falsche Fährte gelockt. :|
... find' ich nicht so lustig.

@herakli: Vielleicht bringt dich das weiter: 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.
herakli
User
Beiträge: 9
Registriert: Dienstag 8. August 2006, 21:30

Hi,
@gerold: Danke schön für die Antwort. Ich werd mir deinen Artikel mal durchlesen. Auf die Schnelle habe ich dort aber nicht viel für das Einlesen von Sonderzeichen gefunden. Ich möchte zum Beispiel nationale Zeichen (spanisch, französisch,...) über die Tastatur eingeben können. Da dies ja meistens nicht möglich ist, hab ich mir gedacht einfach die unicodecodierung, z.B. \x339 , eingeben zu lassen (Die Eingabe wird aber dann in der zugehörigen Unicodedarstellung später ausgegeben). Hierfür hab ich mir überlegt, aus der Eingabe die Zahlendarstellung (z.B. 339) herauszusuchen, um dann mittels unichr(339) (z.B.) das entsprechende Zeichen zu erzeugen. Das ganze sollte schon funktionieren, aber es ist eben ein wenig umständlich. Darum wollte ich wissen, ob es eine saubere und günstigere Lösungsmöglichkeit gibt...
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

entschuldigung, aber ganz seltwn im leben kann man einfach nicht anders.
sry.
http://www.cs.unm.edu/~dlchao/flake/doom/
BlackJack

herakli hat geschrieben:(man möchte z.B. den String u"Andr\202" über die Tastatur eingeben. Allein mit raw_input wird man da nicht weit kommen). Gibt es hierfür eine Möglichkeit?
Wenn Du dem Benutzer wirklich zumuten kannst/willst, dass er Escape-Sequenzen eintippt, dann kannst Du ihn Sonderzeichen als gültige Unicode-Escapesequenzen eingeben lassen und dann die 'unicode_escape' Kodierung benutzen:

Code: Alles auswählen

In [61]: print 'Andr\u00e9'.decode('unicode_escape')
André
herakli
User
Beiträge: 9
Registriert: Dienstag 8. August 2006, 21:30

@gerold:
Ja genau so wollt ich es haben! Vielen Dank für deine Hilfe!
mfg
herakli
User
Beiträge: 9
Registriert: Dienstag 8. August 2006, 21:30

Ach ja, noch ne kleine Nebenfrage: Kannst du mir einen Link nennen, in der die Codierung aufgelistet wird?
mfg
Antworten