Hmm, this doesn't make sense to me: AFAIK Perl strings never store code points, but rather store the UTF-8 encoding of the code points e.g. the string with a Greek uppercase Kappa, whose code point is 039A:
does not contain, in hex, 039A, but rather in hex, CE9A, the UTF8 encoding of that code point.$str = "\x{039A}";
>And the function returned something that was different from the original string, as can be seem below:
What your example seems to demonstrate, AFAICS, is the character v. byte o/p of length, when presented with strings where the UTF-8 flag is switched on/off.
So for the final string, containing alpha, beta, gamma, and delta, it has a length of 4 characters, when Perl knows that it contains valid UTF-8, but a length of 8 when Perl is assuming the old byte=character semantics. However, both the strings are byte-for-byte identical.
Or, if I'm wrong here, I'm very confused.
Steve Collyer
In reply to Re^4: What does Encode::encode_utf8 do to UTF-8 data ?
by scollyer
in thread What does Encode::encode_utf8 do to UTF-8 data ?
by scollyer
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |