Thread HTML::Parser und substr() (46 answers)
Opened by GwenDragon at 2023-05-09 13:09

rosti
 2023-05-12 15:43
#194860 #194860
User since
2011-03-19
3460 Artikel
BenutzerIn
[Homepage]
user image
Lieber haj,

das liegt an chr(). Guck mal:

Code (perl): (dl )
1
2
my $c = chr 0xA4;
print unpack "C*", $c; # 164


D.h., chr() schnappt sich nur das erste Byte eines utf-8-kodierten 'ä' und das hat die Wertigkeit C2, bzw. 164.

Also auch diese Geschichte hat nichts mit Pragma bytes zu tun. MFG

Oh, Sorry, das war jetzt mein Fehler. Korrektur folgt ;)

Edit: Also das liegt wohl doch an chr(); 2x Encode:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
use strict;
use warnings;
use Encode;

my $c = chr 0xE4;
my $cc = pack "U", 0xA4;
print encode 'utf8', encode 'utf8', $c; # kaputt
print "\n";
print encode 'utf8', encode 'utf8', $cc; # auch kaputt 

Last edited: 2023-05-12 15:52:13 +0200 (CEST)

View full thread HTML::Parser und substr()