如何解压缩4byte二进制文件,存储如下例所示, 数组或TEXT文件?
输入文件:
00000000 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 00 |................|
00000001 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 |................|
所需的输出文件:
0,1,1,0,1,1,1,1
现在我正在使用以下解包代码:
open(ERROR_ID_BIN, "<", "/error_id.bin") or die $!;
local $/;
my @err_values = unpack("V*", <ERROR_ID_BIN>);
close(ERROR_ID_BIN);
print "\n\n\n\n\t@err_values\n\n\n";
而我的问题是,它翻转了价值并给了我:
0,16777216,16777216,0,16777216,16777216,16777216,16777216
我该怎么办?
答案 0 :(得分:4)
V是little-endian(最低有效字节优先);尝试N为big-endian(最重要的字节优先)。
答案 1 :(得分:3)