Thread Doppelbuchstaben umklammern (war: Help) (22 answers)
Opened by Gast at 2006-04-10 16:52

sid burn
 2006-04-13 03:36
#64689 #64689
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
[quote=ptk,11.April.2006, 20:44][quote=sid burn,11.04.2006, 10:16]Nehmen wir als Beispiel folgendes zeichen "á", (eigentlich wollte ich den Strich von links oben nach unten aber ist für das beispiel irrelevant). Das ganze setzt sich aus 2 Unicode Zeichen zusammen.[/quote]
Das stimmt so nicht. Man *kann* dieses Zeichen aus zwei Unicode-Zeichen ("a" und "combining acute") kombinieren, aber üblich ist das nicht. Normalerweise nimmt man da gleich \x{00e1} (LATIN SMALL LETTER A WITH ACUTE) und muss sich nicht mit \X und Normalisation (dazu gibt es auch ein Perl-Modul: Unicode::Normalize) herumschlagen.[/quote]
Wenn du in deinem Regulären Ausdruck direkt das Zeichen Schreibst, und nicht über Unicode, nur dann hast du natürlich die Probleme. Wenn du direkt in Unicode schreibst dann ist es eindeutig, und dann kann ja nur das gewünscht auch dabei heraus kommen. Denn von Unicode -> UTF-8 ist es ja Eindeutig. Nur Umgekehrt nicht.

Wenn du also das Zeichen direkt in deinem Perl Skript schreibst, kann dort letztendlich eine völlig andere Unicode folge heraus kommen, als du es letztendlich wolltest.

Weitere Probleme sind, du weißt ja nie wie Perl das eingelesene zeichen (aus einer Textdatei z.B.)wieder zurück in Unicode umwandelt. Von daher, wenn du in deinem Regulären Ausdruck nur das Zeichen mit einer Unicode Codierung benutzt, dann könnte Perl das selbe Zeichen, aber auch als Combining Character umwandeln. Dein Regulärer Ausdruck würde dann aber nicht mehr passen, obwohl es das selbe Zeichen ist.

Allerdings weiß ich jetzt nicht genau wie mächtig Unicode ist, vllt. wird ja auch in Unicode andere Unicode Zeichen gespeichert zu dennen es equivalent ist?\n\n

<!--EDIT|sid burn|1144885107-->
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de

View full thread Doppelbuchstaben umklammern (war: Help)