1. ホーム
  2. python

[解決済み】pythonで16進文字列をバイト配列に変換する。

2022-04-13 08:51:36

質問

異なるタイプの一連の値を表す長いHex文字列があります。このHex文字列をバイト配列に変換して、各値をシフトして適切なデータ型に変換できるようにしたいのですが、可能でしょうか?

どのように解決するのですか?

あなたの16進文字列が次のようなものだとします。

>>> hex_string = "deadbeef"

文字列に変換する(Python ≤ 2.7)。

>>> hex_data = hex_string.decode("hex")
>>> hex_data
"\xde\xad\xbe\xef"

またはPython 2.7とPython 3.0以降です。

>>> bytes.fromhex(hex_string)  # Python ≥ 3
b'\xde\xad\xbe\xef'

>>> bytearray.fromhex(hex_string)
bytearray(b'\xde\xad\xbe\xef')

なお bytes のイミュータブルバージョンです。 bytearray .