Heim  >  Artikel  >  Backend-Entwicklung  >  Wie konvertiere ich einen Byte-String in eine Ganzzahl in Python?

Wie konvertiere ich einen Byte-String in eine Ganzzahl in Python?

Susan Sarandon
Susan SarandonOriginal
2024-10-26 03:43:27487Durchsuche

How to Convert a Byte String to an Integer in Python?

Konvertieren einer Byte-Zeichenfolge in eine Ganzzahl in Python

In Python können Sie auf Szenarien stoßen, in denen Sie eine Byte-Zeichenfolge in konvertieren müssen eine ganze Zahl. Hier ist eine Aufschlüsselung, wie Sie diese Konvertierung angehen:

Methode 1: Verwendung von from_bytes

Für Python-Versionen 3.2 und höher bietet die int.from_bytes-Methode einen einfachen Mechanismus für Durchführen dieser Konvertierung:

<code class="python">int_from_bytes = int.from_bytes(byte_string, byteorder='big')

# or for little-endian byte order:
int_from_bytes = int.from_bytes(byte_string, byteorder='little')</code>

Der Parameter „Byteorder“ gibt die Endianness Ihrer Bytezeichenfolge („big“ oder „little“) an.

Methode 2: Bitmanipulation

Wenn Sie einen Bit-Manipulationsansatz bevorzugen, der keinen Import von Modulen erfordert, können Sie den folgenden Code verwenden:

<code class="python">int_from_bytes = sum(
    (ord(byte) << (i * 8)) for i, byte in enumerate(byte_string[::-1])
)</code>

Diese Methode durchläuft die Bytes in umgekehrter Reihenfolge. Multiplizieren jedes Bytewerts mit einer Potenz von 2, um eine kumulative Ganzzahl zu erstellen.

Vergleich der Methoden

Während beide Methoden effizient sind, wird die Methode „from_bytes“ empfohlen seine Einfachheit und Vielseitigkeit. Wenn Sie jedoch Bedenken hinsichtlich des Imports von Abhängigkeiten haben, bietet der Bit-Manipulationsansatz eine kompaktere Alternative.

Hinweis zum Importieren von Modulen

Das Importieren von Modulen kann sich auf die Leistung auswirken. insbesondere, wenn der Importvorgang mehrmals wiederholt wird. Um diesen Effekt zu minimieren, importieren Sie die erforderlichen Module nur einmal außerhalb der innersten Schleife.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich einen Byte-String in eine Ganzzahl in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn