Thread use utf8 und Verhalten von String-Operationen
(65 answers)
Opened by rosti at 2011-08-03 19:16 2011-08-03T10:19:05 rosti Das utf8 pragma hat nur Einfluss auf String-Literale. Andererseits funktionieren die string-builtins unabhaengig davon, ob die Strings von Literalen stammen oder nicht Quote Aber sicher: Code: (dl
)
1 use strict; Du siehst, das utf8-Pragma hat keinerlei Einfluss auf das Ergebnis des String-Operationen. Wenn man substr() und uc() bytes liefert, arbeiten sie auf bytes, wenn man ihnen codepoints liefert, arbeiten sie auf codepoints, voellig unabaehngig vom utf8-Pragma. Ueberzeugt? Quote Viel zu kompliziert, bau doch einfach Beispiele, die von Kommandozeile aus funktionieren, sodass man nicht dein gesamte setup duplizieren muss. Hier ist mein test: Code: (dl
)
1 $ echo -e "\xC3\xB5" | perl -wE 'binmode STDIN, ":utf8"; $_ = <>; chomp; say length' Die Bytes C3B5 stehen in UTF-8 fuer ein õ, und length() liefert mir hier die Laenge 1 dafuer, d.h. der String wird als Kette von Codepoints interpretieriert, obwohl ich kein utf8-Pragma geladen habe. Ueberzeugt? |