2014年06月09日

perl -E 'my $x = pack "C", 160; $x = "A${x}B"; say(join ",", unpack "C*", $x); $x =~ s/\s//; say(join ",", unpack "C*", $x)'
65,160,66
65,66
perl -E 'my $x = "ム"; say(join ",", unpack "C*", $x); $x =~ s/\s//; say(join ",", unpack "C*", $x)'
227,131,160
227,131

160 = 0xA0

UTF8 string に対して、うっかり byte data に対して s/\s// とかすると 0xA0 を使っている UTF8 string が broken どす。

\s is space character, and includes 'no-break space'.

Posted by Yappo at 2014年06月09日 22:35 | TrackBack | Perl
Comments
Post a comment









Remember personal info?






コメントを投稿する前に↓の場所にnospamと入力してください。