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