AW: [Allegro] UTF-8 zum zweiten
Thomas Berger
ThB at Gymel.com
Fr Jul 1 22:50:29 CEST 2005
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hallo Herr Wolf,
> Kennt eigentlich jemand eine Einstellung in den Windows IMEs oder aber
> ein externes Eingabeprogramm (wie Twinbridge usw.) mit dem man die
> HTML-4 Notationen (Herr Eversberg nennt diese HTML 4 Entitäten) wie
> 'Ӓ' oder aber die dezimale Unicodenummer als Output bekommt ?
Die Notation "Ӓ" ist eine "numerische Zeichenreferenz" (Numeric
character Reference, NCR). "Ӓ" allerdings auch (dasselbe hexa-
dezimal, nicht dezimal). In den Unicode-Tabellen und vom Windows-
Utility charmap wird nur der hexadezimale Wert der Zeichen angegeben,
RTF benoetigt m.W. unbedingt den dezimalen Wert, modernen WWW-Browsern
ist beides recht.
Ihre Frage ist so aber nicht beantwortbar, weil Sie nicht verraten,
was der Input ist, zu dem sie den gewuenschten Output benoetigen.
perl -e "print ord(\"\x{04d2}\")"
liefert z.B. das Resultat 1234. Der Aufruf sieht aber kryptisch aus,
weil ich das Zeichen 1234 nicht am CMD-Prompt eingeben konnte, und
daher als \x{04d2} notieren musste, dafuer musste ich den numerischen
Wert schon vorher wissen...
Wenn Sie ein in UTF-8 codiertes Zeichen haben, muessen Sie daraus
die Unicode-Position ausrechnen, die resultierende Zahl ist genau
die, die Sie suchen. Perl macht das ggfls. automatisch fuer Sie,
wenn es weiss, dass es ein UTF-8 codierter String ist:
perl -e "use Encode; $_=decode('utf8', \"\xd3\x92\"); print ord($_)"
bzw.
perl -e "print \"\xd3\x92\""
| perl -e "binmode(STDIN, 'utf8'); $_ = <>; print ord($_)"
liefert jeweils "1234". In beiden Faellen wird Perl irgendwie
mitgeteilt, dass der String \xd2\x92 als UTF-8 codiert zu
interpretieren ist, dann wird er in die interne Unicode-
Repraesentation umgewandelt und die ueblichen Zeichen- und
String-funktionen wie ord() tun automatisch das richtige.
viele Gruesse
Thomas Berger
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3-nr1 (Windows XP)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD4DBQFCxayVENVh3bB0lwMRAkCGAJ96IBH5eXo7IAfvSFDATSyqt6XlRQCWMhn5
DHvv80ouNflcqbfc5NRniA==
=iZnF
-----END PGP SIGNATURE-----
Mehr Informationen über die Mailingliste Allegro