Seite 1 von 1

unicode-eingabe

Verfasst: Freitag 11. August 2006, 11:07
von herakli
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

Verfasst: Freitag 11. August 2006, 12:42
von murph
es gibt input^^

Verfasst: Freitag 11. August 2006, 13:13
von gerold
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
:-)

Verfasst: Freitag 11. August 2006, 16:25
von herakli
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...

Verfasst: Freitag 11. August 2006, 16:53
von murph
entschuldigung, aber ganz seltwn im leben kann man einfach nicht anders.
sry.

Re: unicode-eingabe

Verfasst: Freitag 11. August 2006, 18:07
von 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é

Verfasst: Freitag 11. August 2006, 21:09
von herakli
@gerold:
Ja genau so wollt ich es haben! Vielen Dank für deine Hilfe!
mfg

Verfasst: Freitag 11. August 2006, 21:14
von herakli
Ach ja, noch ne kleine Nebenfrage: Kannst du mir einen Link nennen, in der die Codierung aufgelistet wird?
mfg

Verfasst: Freitag 11. August 2006, 23:10
von BlackJack