Si puedo abrir un archivo (y especifique una codificación directa):¿Cómo puedo decodificar datos UTF-16 en Perl cuando no conozco el orden de bytes?
open(my $file,"<:encoding(UTF-16)","some.file") || die "error $!\n";
while(<$file>) {
print "$_\n";
}
close($file);
que puede leer el contenido del archivo muy bien. Sin embargo, si lo hago:
use Encode;
open(my $file,"some.file") || die "error $!\n";
while(<$file>) {
print decode("UTF-16",$_);
}
close($file);
me sale el siguiente error:
UTF-16:Unrecognised BOM d at F:/Perl/lib/Encode.pm line 174
¿Cómo puedo hacer que funcione con decode
?
EDIT: aquí están los primeros bytes:
FF FE 3C 00 68 00 74 00
¿Nos un volcado de los primeros bytes del archivo que mostrar? –
Ah, entonces tienes una lista de materiales. –