如何将十六进制编码的字符串转换为Perl中的字节字符串?

时间:2011-10-16 08:46:55

标签: perl hex packet

我的原始代码位于Python,但我需要将它转换为Perl,以供我在Python中没有的一些库。

在Python中我会这样做:

packet=binascii.unhexlify('F0000000F6905C452001A8C0000000000160994E810FB54E0100DB0000000000000')

这将创建一个包含二进制表示形式的字符串:

0xF0 0x00 0x00 0x00 0xF6 0x90 0x5C 0x45 etc...

现在我的字符串是一个字节数组,我可以将它作为我的数据包的有效负载发送。我怎么做Perl?

1 个答案:

答案 0 :(得分:7)

您可以使用pack功能。

示例:

$ perl -e 'print pack("H*", "303132616263"), "\n";'
012abc

查看pack tutorial