Jak przekonwertować liczbę całkowitą na ciąg szesnastkowy w Pythonie

W tym poście zobaczymy, jak przekonwertować liczbę całkowitą na ciąg szesnastkowy w Pythonie.

funkcjahex()

Pythonowym sposobem konwersji liczby całkowitej na ciąg szesnastkowy jest użycie wbudowanej funkcji hex(). Zwraca ona ciąg szesnastkowy pisany małymi literami, który jest poprzedzony przez 0x.

1
2
3
4
5
6
7
8

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

Aby uzyskać ciąg szesnastkowy pisany wielkimi literami lub pozbyć się przedrostka, użyj dowolnego z omówionych poniżej rozwiązań.

funkcjaformat()

Inną opcją jest użycie wbudowanej funkcji format(), która może przekonwertować liczbę całkowitą na łańcuch szesnastkowy przy użyciu specyfikacji formatu x. Jeśli użyjesz #x, łańcuch szesnastkowy jest poprzedzony przez 0x. Jeśli użyjesz X lub #X, możesz otrzymać łańcuch szesnastkowy pisany wielkimi literami.

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

Począwszy od Pythona 3.6, można używać f-strings. Można to zrobić poprzez poprzedzenie literału łańcucha znakiem f lub F. Dosłowny ciąg znaków powinien być zamknięty w nawiasach klamrowych {} i powinien zawierać liczbę całkowitą, po której następuje specyfikacja formatowania x oddzielona dwukropkiem :.

Aby poprzedzić ciąg szesnastkowy znakiem 0x, należy użyć #x, a aby uzyskać ciąg szesnastkowy pisany dużymi literami, należy użyć X lub #X. Oto jak wyglądałby ten kod:

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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.