Byte in Hex in Python umwandeln

  1. Initialisieren eines Byte-Literal in Python
  2. Verwenden Sie die Methode hex(), um in Python ein Byte in Hex zu konvertieren
  3. Verwendung des Moduls binascii zur Konvertierung eines Bytes in Hex in Python

Dieses Tutorial stellt vor, wie man in Python Byte in Hexadezimal umwandeln kann.

Der Datentyp Byte in Python ist eine Folge von Bytes, die als Variable auf der Festplatte gespeichert werden kann. Sie werden wie eine Zeichenkette deklariert, aber mit dem Zeichen b vorangestellt. Bytes akzeptieren spezielle Unicode-Zeichen, denen das Zeichen \x vorangestellt ist.

Initialisieren eines Byte-Literal in Python

Wir geben ein Beispiel für ein Byte-Literal, deklarieren eine Zeichenkette mit Sonderzeichen und verwenden die Funktion encode('utf-8'), um sie in ein Byte-Literal umzuwandeln.

byte_var = 'γιαούρτι - yogurt'.encode('utf-8')

print(byte_var)

Ausgabe:

b'\xce\xb3\xce\xb9\xce\xb1\xce\xbf\xcf\x8d\xcf\x81\xcf\x84\xce\xb9 - yogurt'

Die Ausgabe von encode() ergibt ein Byte-Literal, dem das Zeichen b vorangestellt ist und die Sonderzeichen in Unicode-Symbole umgewandelt wurden.

Jetzt ist die Deklaration eines Bytes abgedeckt, lassen Sie uns mit der Konvertierung eines Bytes in Hex fortfahren.

Verwenden Sie die Methode hex(), um in Python ein Byte in Hex zu konvertieren

Die ab Python 3.5 eingeführte Methode hex() wandelt es in eine hexadezimale Zeichenkette um.

In diesem Fall ist das Argument von einem Byte-Datentyp, der in Hex konvertiert werden soll.

byte_var = 'γιαούρτι - yogurt'.encode('utf-8') 

print('Byte variable: ', byte_var)
print('Hexadecimal: ', byte_var.hex())

Ausgabe:

Byte variable:  b'\xce\xb3\xce\xb9\xce\xb1\xce\xbf\xcf\x8d\xcf\x81\xcf\x84\xce\xb9 - yogurt'
Hexadecimal:  ceb3ceb9ceb1cebfcf8dcf81cf84ceb9202d20796f67757274

Verwendung des Moduls binascii zur Konvertierung eines Bytes in Hex in Python

Das binascii Python-Modul enthält effiziente Hilfsfunktionen für Binär- und ASCII-Operationen.

Innerhalb dieses Moduls gibt es eine Funktion hexlify(), die einen hexadezimalen Wert des angegebenen Arguments zurückgibt, das ein Binärwert ist.

In diesem Beispiel ist das Argument die Byte-Variable, die in Hex umgewandelt werden soll.

import binascii

byte_var = 'γιαούρτι - yogurt'.encode('utf-8') 

print('Byte variable: ', byte_var)
print('Hexadecimal: ', binascii.hexlify(byte_var))

Ausgabe:

Byte variable:  b'\xce\xb3\xce\xb9\xce\xb1\xce\xbf\xcf\x8d\xcf\x81\xcf\x84\xce\xb9 - yogurt'
Hexadecimal:  b'ceb3ceb9ceb1cebfcf8dcf81cf84ceb9202d20796f67757274'

Beachten Sie, dass der Rückgabewert von hexlify() ein Byte-Literal zurückgibt, im Gegensatz zu hex(), das einen konvertierten String zurückgibt.

Wenn Sie das Ergebnis in eine Zeichenkette umwandeln wollen, verwenden Sie die Funktion decode('utf-8').

import binascii

byte_var = 'γιαούρτι - yogurt'.encode('utf-8') 

print('Byte variable: ', byte_var)
print('Hexadecimal: ', '' + binascii.hexlify(byte_var).decode('utf-8'))

Ausgabe:

Byte variable:  b'\xce\xb3\xce\xb9\xce\xb1\xce\xbf\xcf\x8d\xcf\x81\xcf\x84\xce\xb9 - yogurt'
Hexadecimal:  ceb3ceb9ceb1cebfcf8dcf81cf84ceb9202d20796f67757274

Nun wird das hexadezimale Ergebnis aus einem Byte-Literal in einen String konvertiert.

Zusammenfassend haben wir 2 Methoden zur Konvertierung eines Bytes nach Hex in Python behandelt. Der einfachste Weg ist, die eingebaute Funktion hex() für ein Byte-Literal zu verwenden. Alternativ kann auch die Funktion hexlify() aus dem Modul binascii verwendet werden, um die gleiche Ausgabe zu erzeugen.

Verwandter Artikel - Python Bytes

  • Hex in Byte umwandeln in Python
  • Wie man Int in Bytes konvertiert in Python 2 und Python 3
  • Verwandter Artikel - Python Hex

  • Hex in Byte umwandeln in Python