Maison  >  Article  >  développement back-end  >  Comment convertir des octets en entiers en Python en utilisant int.from_bytes() ?

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

Barbara Streisand
Barbara Streisandoriginal
2024-10-20 07:07:02801parcourir

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>

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>

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!

Déclaration:
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