What do you mean? I'm pretty sure pack's C* takes C chars, that is, octets, bytes. At least that's what the documentation says. And 231:97 is not a valid utf-8 sequence. So in binary mode Perl encodes codepoints < 256 as Latin-1, otherwise it just spits out utf-8 as is. That's pretty crazy.
in reply to Re^2: Default encoding rules leave me puzzled...
in thread Default encoding rules leave me puzzled...
perl -CO -wE 'use utf8; say q(Franšais)' | perl -lnwE 'print join q(:)
+, unpack q(C*), $_'