相关疑难解决方法(0)

你什么时候使用unpack('h*'...)或pack('h*'...)?

在Perl中,packunpack有从十六进制字节转换成/两个模板:

h    十六进制字符串(首先是低nybble).
H    十六进制字符串(首先是高nybble).

最好用一个例子来澄清:

use 5.010; # so I can use say
my $buf = "\x12\x34\x56\x78";

say unpack('H*', $buf); # prints 12345678
say unpack('h*', $buf); # prints 21436587
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,H人们在考虑将字节转换为十六进制/从十六进制转换时通常意味着什么.那么目的是h什么?拉里一定以为有人可能会使用它,否则他就不会费心去包括它.

你能给出一个真实世界的例子,你真的想用h而不是Hpack或者unpack吗? 我正在寻找一个具体的例子; 如果你知道一台机器组织它的字节,它是什么,你可以链接到它的一些文件?

我可以想一下你可以使用 的例子h,例如当你不关心格式时序列化一些数据,只要你能读回来,但对它H来说同样有用.我在寻找其中一个例子h比有用H.

perl hex unpack pack

11
推荐指数
1
解决办法
1万
查看次数

标签 统计

hex ×1

pack ×1

perl ×1

unpack ×1