Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

16進数文字列をbytesarray型に

前回は文字列をそのままBytes型に変換する方法でした。
今回は16進数文字列をbytesarray型にする方法です。

実際のところ

bytearrayのfromhex関数に渡すだけです。
"0x"とか入っていると使えないので注意してください。

bytearray.fromhex('00DE00AD00BE00EF')
#>> bytearray(b'\x00\xde\x00\xad\x00\xbe\x00\xef')

ヌルもAscii文字ちゃんと格納してくれる便利仕様です。

bytearray.fromhex('0041')
#>> bytearray(b'\x00A')

型はbytearrayなので、byte型の正規表現などにも対応できます。

type(bytearray.fromhex('0041'))
#>> <class 'bytearray'>