Comment convertir un entier en chaîne hexadécimale en Python

Dans ce post, nous allons voir comment convertir un entier en chaîne hexadécimale en Python.

fonctionhex()

La façon pythonique de convertir un entier en une chaîne hexadécimale est d’utiliser la fonction intégrée hex(). Elle renvoie la chaîne hexadécimale en minuscules qui est préfixée par 0x.

1
2
3
4
5
6
7
8

if __name__ == ‘__main__’ :
i = 4095
h = hex(i)
print(h) # ‘0xfff’

Pour obtenir une chaîne hexadécimale en majuscules ou pour se débarrasser du préfixe, utilisez l’une des solutions présentées ci-dessous.

fonction format()

Une autre option est d’utiliser la fonction intégrée format() qui peut convertir un entier en une chaîne hexadécimale en utilisant la spécification de format x. Si vous utilisez #x, la chaîne hexadécimale est préfixée par 0x. Si vous utilisez X ou #X, vous pouvez obtenir une chaîne hexadécimale en majuscules.

1
2
3
4
5
6
7

if __name__ == ‘__main__’ :
i = 4095
h = (format(i, ‘#x’), format(i, ‘#X’), format(i, ‘x’), format(i, ‘X’)).
print(h) # (‘0xfff’, ‘0XFFF’, ‘fff’, ‘FFF’)

f-strings

À partir de Python 3.6, vous pouvez utiliser des f-strings. Cela peut être fait en préfixant le littéral de chaîne de caractères avec f ou F. Le littéral de chaîne de caractères doit être enfermé dans les accolades {} et doit contenir l’entier suivi de la spécification de formatage x séparée par un deux-points :.

Pour préfixer la chaîne hexadécimale par 0x, utilisez #x et pour obtenir une chaîne hexadécimale majuscule, utilisez X ou #X. Voici à quoi ressemblerait le code :

1
2
3
4
5
6
7

if __name__ == ‘__main__’ :
i = 4095
h = (f'{i:#x}’, f'{i:#X}’, f'{i:x}’, f'{i:X}’)
print(h) # (‘0xfff’, ‘0XFFF’, ‘fff’, ‘FFF’)

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.