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

Now*_*ayz 7 perl hex packet

我的原始代码是用Python编写的,但是我需要将它转换为Perl,这些库是我在Python中没有的.

在Python中我会这样做:

packet=binascii.unhexlify('F0000000F6905C452001A8C0000000000160994E810FB54E0100DB0000000000000')
Run Code Online (Sandbox Code Playgroud)

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

0xF0 0x00 0x00 0x00 0xF6 0x90 0x5C 0x45 etc...
Run Code Online (Sandbox Code Playgroud)

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

Mat*_*Mat 7

您可以使用此pack功能.

例:

$ perl -e 'print pack("H*", "303132616263"), "\n";'
012abc
Run Code Online (Sandbox Code Playgroud)

查看包教程.