Thread use utf8 und Verhalten von String-Operationen (65 answers)
Opened by rosti at 2011-08-03 19:16

pq
 2011-08-03 18:25
#151113 #151113
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
2011-08-03T16:18:40 rosti
Natürlich hat Pragma utf8 Einfluss auf das Verhalten von Stringfunktionen.

moritz hat geschrieben, dass dem nicht so ist, und du hast zugestimmt.

Quote
Woher soll Perl wissen, dass es sich überhaupt um menschenlesbare Zeichen handelt?

mittels utf8-flag. da wurde aber schon in etlichen artikeln hier beschrieben. Devel::Peek, zum hundersten mal. schau es dir endlich an.

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$ perl -wE'
use Devel::Peek;
my $str = "ä";

use utf8;

my $sub = substr($str, 0, 1);
say length $sub;
Dump $sub;'
1
SV = PV(0x84556c8) at 0x8472aa8
REFCNT = 1
FLAGS = (PADMY,POK,pPOK)
PV = 0x8476970 "\303"\0
CUR = 1
LEN = 4


$str ist hier im beispiel in simpler bytestring.

ich schalte dann utf8 an.
trotzdem arbeitet substr() byteweise. somit hat utf8 keinen einfluss auf das verhalten von substr().
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread use utf8 und Verhalten von String-Operationen