Comment convertir des octets en entiers en Python en utilisant int.from_bytes() ?

Barbara Streisand
Libérer: 2024-10-20 07:07:02
original
799 Les gens l'ont consulté

How to Convert Bytes to Integers in Python Using int.from_bytes()?

Conversion d'octets en entiers en Python

Lorsque vous travaillez avec des algorithmes de cryptage et de déchiffrement, il est souvent nécessaire de convertir des séquences d'octets en valeurs entières et vice versa. En Python, le processus de conversion d'octets en entiers est simple à l'aide de la fonction intégrée int.from_bytes().

La fonction int.from_bytes() prend trois arguments : octets, ordre des octets et signé (facultatif) . L'argument bytes spécifie la séquence d'octets à convertir, byteorder indique l'ordre des octets (soit « grand » ou « petit ») et signé détermine si la valeur doit être traitée comme un entier signé ou non (la valeur par défaut est False).

Par exemple, pour convertir une séquence d'octets b'x03' en un entier, on peut utiliser :

<code class="python">bytes([3]) == b'\x03'
result = int.from_bytes(b'\x03', byteorder='big')
print(result)  # 3</code>
Copier après la connexion

Dans ce cas, l'argument byteorder='big' indique que l'octet de poids fort doit être au début de la séquence d'octets. Si nous utilisions byteorder='little', la même séquence d'octets serait plutôt interprétée comme 256.

L'argument signé peut être utilisé pour spécifier si la valeur doit être traitée comme un entier signé. Par exemple, pour convertir une séquence b'xfcx00' en un entier signé, nous pouvons utiliser :

<code class="python">result = int.from_bytes(b'\xfc\x00', byteorder='big', signed=True)
print(result)  # -1024</code>
Copier après la connexion

Cela interprétera la séquence comme un entier signé en utilisant le codage en complément à deux, ce qui donnera une valeur de -1024. .

Dans l'ensemble, la fonction int.from_bytes() fournit un moyen simple et efficace de convertir des séquences d'octets en valeurs entières en Python. En spécifiant l'ordre des octets et la signature, vous pouvez vous assurer que la conversion est effectuée comme prévu.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!