Se apro un file (e specificare direttamente una codifica):Come posso decodificare i dati UTF-16 in Perl quando non conosco l'ordine dei byte?
open(my $file,"<:encoding(UTF-16)","some.file") || die "error $!\n";
while(<$file>) {
print "$_\n";
}
close($file);
riesco a leggere il contenuto del file piacevolmente. Tuttavia, se faccio:
use Encode;
open(my $file,"some.file") || die "error $!\n";
while(<$file>) {
print decode("UTF-16",$_);
}
close($file);
ottengo il seguente errore:
UTF-16:Unrecognised BOM d at F:/Perl/lib/Encode.pm line 174
Come faccio a farlo funzionare con decode
?
EDIT: ecco i primi diversi byte:
FF FE 3C 00 68 00 74 00
può noi una discarica dei primi diversi byte di tale file mostrare? –
Ah, quindi hai una BOM. –