Hoe een geheel getal naar een hexadecimale tekenreeks omzetten in Python

In dit bericht zullen we zien hoe we een geheel getal naar een hexadecimale tekenreeks in Python kunnen omzetten.

hex()-functie

De pythonische manier om een geheel getal om te zetten in een hexadecimale tekenreeks is met behulp van de ingebouwde functie hex(). Deze geeft de hexadecimale string in kleine letters terug, voorafgegaan door 0x.

1
2
3
4
5
6
7
8

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

Om een hexadecimale string met hoofdletters te krijgen of om van het voorvoegsel af te komen, kunt u een van de hieronder besproken oplossingen gebruiken.

format() functie

Een andere optie is het gebruik van de ingebouwde functie format() die een geheel getal kan omzetten in een hexadecimale string met behulp van de x format specificatie. Als u #x gebruikt, wordt de hexadecimale string voorafgegaan door 0x. Als u X of #X gebruikt, kunt u een hexadecimale string met een hoofdletter krijgen.

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

Met ingang van Python 3.6 kunt u f-strings gebruiken. Dit kunt u doen door de string literal te laten voorafgaan door f of F. De string literal moet worden ingesloten binnen de accolades {} en moet het gehele getal bevatten, gevolgd door de opmaakspecificatie x, gescheiden door een dubbele punt :.

Om de hexadecimale string te laten voorafgaan door 0x, gebruikt u #x en om een hexadecimale string met een hoofdletter te krijgen, gebruikt u X of #X. Hier is hoe de code eruit zou zien:

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’)

>

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.