【Python】16進数の文字列をバイナリに変換する方法

16進数の文字列をバイナリに変換する方法を知らなくて困っている人もいるでしょう。

この記事では、プログラミング初心者にもわかりやすく、16進数の文字列をバイナリに変換する方法を解説します。

目次から探す

16進数の文字列をバイナリに変換する方法

16進数の文字列をバイナリに変換する方法はいくつかあります。

この記事では、以下の3つの方法を紹介します。

  1. int関数とbin関数を使った変換
  2. bytearray.fromhex関数を使った変換
  3. bytes.fromhex関数を使った変換

それぞれの方法について、コード例と実行結果を示します。

int関数bin関数を使った変換

int関数は、文字列を整数に変換するための関数です。

この関数には、基数を指定することができます。

16進数の文字列を整数に変換するには、基数に16を指定します。

bin関数は、整数をバイナリ文字列に変換するための関数です。

この関数を使って、16進数の文字列をバイナリに変換することができます。

hex_str = "1a2b3c"
int_value = int(hex_str, 16)
bin_str = bin(int_value)
print(bin_str)
0b110100010101100111100

bytearray.fromhex関数を使った変換

bytearray.fromhex関数は、16進数の文字列をバイト配列に変換するための関数です。

この関数を使って、16進数の文字列をバイナリに変換することができます。

hex_str = "1a2b3c"
byte_array = bytearray.fromhex(hex_str)
bin_str = ''.join(format(x, '08b') for x in byte_array)
print(bin_str)
000110100010101100111100

bytes.fromhex関数を使った変換

bytes.fromhex関数は、16進数の文字列をバイト列に変換するための関数です。

この関数を使って、16進数の文字列をバイナリに変換することができます。

hex_str = "1a2b3c"
bytes_data = bytes.fromhex(hex_str)
bin_str = ''.join(format(x, '08b') for x in bytes_data)
print(bin_str)
000110100010101100111100

これらの方法を使って、16進数の文字列をバイナリに変換することができます。

どの方法を使うかは、プログラムの要件や好みに応じて選択してください。

目次から探す