我用 Perl 读取了图像:
open (FILE,"<$filename") or die $!;
binmode FILE;
while (($n = read FILE, $data, 4) != 0) {
$buf .= $data;
}
close (FILE);
如何从该文件中仅获取最后 16 个字节?背景是,我想将一个图像的最后 16 个字节与另一个图像的最后 16 个字节进行比较。
最佳答案
使用seek移动到文件结束前 16 个字节的位置,然后读取这 16 个字节:
open (FILE, "<$filename") or die $!;
binmode FILE;
seek FILE, -16, 2;
read FILE, $data, 16;
close (FILE);
您还可以使用常量代替 2
:
use Fcntl qw(SEEK_END);
open (FILE, "<$filename") or die $!;
binmode FILE;
seek FILE, -16, SEEK_END;
read FILE, $data, 16;
close (FILE);
关于perl - 如何使用 Perl 从二进制文件中获取最后 16 个字节?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38605332/