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

7

原始代码是用Python编写的,但由于我在Python中无法使用一些库,因此需要将其转换为Perl。

在Python中,我会这样做:

packet=binascii.unhexlify('F0000000F6905C452001A8C0000000000160994E810FB54E0100DB0000000000000')

AND

这将创建一个包含以下内容的二进制表示的字符串:

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

现在我的字符串已经是一个字节数组,我可以将它作为数据包的有效载荷发送。那么,我该如何在Perl中实现呢?

1
perldoc -f pack 是一个足够好的起点。(抱歉没有更多细节,该睡觉了。) - sarnold
1个回答

7
您可以使用 pack 函数实现此功能。
示例:
$ perl -e 'print pack("H*", "303132616263"), "\n";'
012abc

请查看pack教程,了解更多关于IT技术方面的内容。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接