16進数の文字列をバイナリに変換する方法を知らなくて困っている人もいるでしょう。
この記事では、プログラミング初心者にもわかりやすく、16進数の文字列をバイナリに変換する方法を解説します。
目次から探す
16進数の文字列をバイナリに変換する方法
16進数の文字列をバイナリに変換する方法はいくつかあります。
この記事では、以下の3つの方法を紹介します。
- int関数とbin関数を使った変換
- bytearray.fromhex関数を使った変換
- 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進数の文字列をバイナリに変換することができます。
どの方法を使うかは、プログラムの要件や好みに応じて選択してください。