Как преобразовать шестнадцатеричную строку в байтовую строку в Perl? - PullRequest
7 голосов
/ 16 октября 2011

Мой оригинальный код находится в Python , но мне нужно преобразовать его в Perl для некоторых библиотек, которых у меня нет в Python.

В Python я бы сделалthis:

packet=binascii.unhexlify('F0000000F6905C452001A8C0000000000160994E810FB54E0100DB0000000000000')

AND

Это создаст строку, содержащую двоичное представление:

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

Теперь, когда моя строка является байтовым массивом, я могу отправить еев качестве полезной нагрузки для моего пакета.Как мне это сделать Perl?

1 Ответ

7 голосов
/ 16 октября 2011

Для этого вы можете использовать функцию pack.

Пример:

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

Ознакомьтесь с учебником по .

...