#perl #hex #packet
#perl #шестнадцатеричная #пакет
Вопрос:
Мой исходный код написан на Python, но мне нужно преобразовать его в Perl для некоторых библиотек, которых у меня нет в моем распоряжении в Python.
В Python я бы сделал это:
packet=binascii.unhexlify('F0000000F6905C452001A8C0000000000160994E810FB54E0100DB0000000000000')
И
Это создаст строку, содержащую двоичное представление:
0xF0 0x00 0x00 0x00 0xF6 0x90 0x5C 0x45 etc...
Теперь, когда моя строка представляет собой массив байтов, я могу отправить ее в качестве полезной нагрузки для моего пакета. Как мне это сделать на Perl?
Комментарии:
1.
perldoc -f pack
это достаточно хорошая отправная точка. (Извините, больше никаких подробностей, пора спать.)
Ответ №1:
Для этого вы можете использовать pack
функцию.
Пример:
$ perl -e 'print pack("H*", "303132616263"), "n";'
012abc
Ознакомьтесь с руководством по пакету.