Python でバイナリを 16 進数に変換する

Vaibhhav Khetarpal 2023年1月30日
  1. ユーザー定義関数を作成して利用し、Python で 2 進数を 16 進数に変換する
  2. Python で int() および hex() 関数を使用して BinaryHex に変換する
  3. Python で binascii モジュールを使用して BinaryHex に変換する
  4. Python で format() 関数を使用して BinaryHex に変換する
  5. Python で f-strings を使用して BinaryHex に変換する
Python でバイナリを 16 進数に変換する

2 進数と 16 進数は、Python で数値を表すことができる多くの数値システムの 2つです。このチュートリアルでは、Python で BinaryHex に変換するために利用できるさまざまな方法に焦点を当てています。

ユーザー定義関数を作成して利用し、Python で 2 進数を 16 進数に変換する

while ループを使用してユーザー定義関数を作成し、それを配置して、Python で Binary の値を Hex に変換できます。

次のコードは、ユーザー定義関数を使用して、Python で BinaryHex に変換します。

print("Enter the Binary Number: ", end="")
bnum = int(input())

h = 0
m = 1
chk = 1
i = 0
hnum = []
while bnum != 0:
    rem = bnum % 10
    h = h + (rem * m)
    if chk % 4 == 0:
        if h < 10:
            hnum.insert(i, chr(h + 48))
        else:
            hnum.insert(i, chr(h + 55))
        m = 1
        h = 0
        chk = 1
        i = i + 1
    else:
        m = m * 2
        chk = chk + 1
    bnum = int(bnum / 10)

if chk != 1:
    hnum.insert(i, chr(h + 48))
if chk == 1:
    i = i - 1

print("\nEquivalent Hexadecimal Value = ", end="")
while i >= 0:
    print(end=hnum[i])
    i = i - 1
print()

上記のコードは次の出力を提供します。

Enter the Binary Number: 0101101
Equivalent Hexadecimal Value = 2D

Python で int() および hex() 関数を使用して BinaryHex に変換する

このメソッドを実装するには、int() 関数と hex() 関数の両方を使用します。

まず、int() メソッドを使用して、指定された 2 進数を整数値に変換します。このプロセスの後、hex() 関数は新しく見つかった整数値を 16 進値に変換します。

次のコードは、int() および hex() 関数を使用して、Python で BinaryHex に変換します。

print(hex(int("0101101", 2)))

上記のコードは次の出力を提供します。

0x2d

Python で binascii モジュールを使用して BinaryHex に変換する

Python は、Python 3 以降の binascii モジュールを提供します。このモジュールを使用して、Python で BinaryHex に変換できます。このメソッドを機能させるには、binascii モジュールを手動で Python コードにインポートする必要があります。

このメソッドは、テキストファイルを開き、ファイルのコンテンツを取り込み、hexlify() 関数を使用して、ファイル内の指定されたデータの hex 値を返すことができます。

次のコードは、binascii モジュールを使用して、Python で BinaryHex に変換します。

import binascii

bFile = open("ANYBINFILE.exe", "rb")
bData = bFile.read(8)
print(binascii.hexlify(bData))

Python で format() 関数を使用して BinaryHex に変換する

format() 関数は、Python で文字列フォーマットを実装する方法の 1つです。format() 関数は、{} 中括弧内にフォーマットされた文字列を提供するために使用されます。

次のコードは、format() 関数を使用して、Python で BinaryHex に変換します。

print("{0:0>4X}".format(int("0101101", 2)))

上記のコードは次の出力を提供します。

002D

Python で f-strings を使用して BinaryHex に変換する

Python 3.6 で導入されたこのメソッドは、文字列フォーマットを実装する Python の比較的新しいメソッドです。Python の新しいバージョンと最新バージョンで使用できます。

%記号と str.format() という他の 2つのピアよりも高速で理解しやすいため、より効率的です。また、他の 2つの方法よりも高速で Python で文字列フォーマットを実装するのにも役立ちます。

次のコードは、Python で f-strings を使用して BinaryHex に変換します。

bstr = "0101101"
hexstr = f"{int(bstr, 2):X}"
print(hexstr)

上記のコードは次の出力を提供します。

2D
Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

関連記事 - Python Binary

関連記事 - Python Hex