Como converter um número inteiro para uma string hexadecimal em Python

Neste post, veremos como converter um número inteiro para uma string hexadecimal em Python.

hex() function

A forma pítonica de converter um número inteiro para uma string hexadecimal é usando a função incorporada hex(). Ela retorna a string hexadecimal em minúsculas que é prefixada por 0x.

1
2
3

4
5
6
7
8

>>

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

>

Para obter uma corda hexadecimal em maiúsculas ou para se livrar do prefixo, use qualquer uma das soluções discutidas abaixo.

formato() função

Outra opção é usar a função incorporada format() que pode converter um número inteiro para uma string hexadecimal usando a especificação de formato x. Se você usar #x, a string hexadecimal é prefixada por 0x. Se você usar X ou #X, você pode obter uma cadeia de caracteres hexadecimal em maiúsculas.

1
2
3

4
5
6
7

>

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

f-strings

Começar com Python 3.6, você pode usar f-strings. Isto pode ser feito prefixando a string literalmente com f ou F. A corda literal deve ser incluída dentro das chaves de caracteres {} e deve conter o inteiro seguido da especificação de formatação x separada por dois pontos :.

Para prefixar a corda hexadecimal por 0x, use #x e para obter uma corda hexadecimal em maiúsculas, use X ou #X. Aqui está como o código ficaria:

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

>

Deixe uma resposta

O seu endereço de email não será publicado.