in reply to Can't decode ill-formed UTF-8 octet sequence

I think you are over thinking things. Firstly... there is no UTF8 anywhere here:

use Bencode qw( bdecode ); use File::Slurp qw(read_file); my $b = read_file('test.torrent', { binmode => ':raw' }); my $o = bdecode($b); print unpack('H*',$o->{info}{name});

output:

437279736973ae

To me it looks like an extended ASCII code set. You still need to know the page encoding to convert the 0xAE to a uni-code code point if that is what you are trying to do.