Hola:
¡Tengo un problema bastante urgente! Tengo un archivo binario en el cual debo acceder y coger 8 bytes.
Estos 8 bytes los tengo que convertir a un número decimal... ¿Cómo lo hago? Estoy probando de mil formas y no hay manera...
¡Gracias!
* leer los 8 bytes
* con el split // podemos ir de carácter en carácter (otra forma sería usando la función substr();)
* Usar las matemáticas para obtener el número decimal:
n = n * 256 + ord($caracter);
hexdump -C fichero|head
use strict;
my @dec;
my $puntero;
open FL, "../Recorder_20070612_145112_Gps_streamOutput.idx" or die "Arghhh!: $!\n";
binmode FL;
my $data;
my $igg=0;
while ($igg<200){
read(FL, $data, 1,$igg);
@dec = unpack("C*", $data);
$puntero = @dec[0]+256*@dec[1]+256*256*@dec[2];
#print $puntero."\n";
#print @dec[0].@dec[1].@dec[2].@dec[3].@dec[4].@dec[5].@dec[6].@dec[7];
$igg++;
}
print "Los decimales son:\n".(join "\t", @dec)."\n";
#print @decimales[0]." ".@decimales[1];
close FL;
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados