String para Hex em Python
Os valores hexadecimais têm uma base de 16. Em Python, as strings hexadecimais são prefixadas com 0x
.
A função hex()
é usada para converter um inteiro decimal em seu respectivo número hexadecimal. Por exemplo,
a = 102
print(hex(a))
Resultado:
0x66
Também podemos converter valores float em hexadecimais usando a função hex()
com a função float()
. O código a seguir implementa isso.
a = 102.18
print(float.hex(a))
Resultado:
0x1.98b851eb851ecp+6
Não podemos converter uma string usando esta função. Portanto, se temos uma situação em que temos uma string hexadecimal e queremos convertê-la em um número hexadecimal, não podemos fazer isso diretamente. Para tais casos, temos que converter esta string para o valor decimal requerido usando a função int()
e então convertê-lo para o número hexadecimal usando a função hex()
discutida anteriormente.
O código a seguir mostra isso.
hex_s = "0xEFA"
a = int(hex_s, 16)
hex_n = hex(a)
print(hex_n)
Resultado:
0xefa
Os caracteres na string não têm nenhum valor hexadecimal correspondente. No entanto, se convertermos uma string em um objeto do tipo bytes, usando a função encode()
, podemos convertê-la em seu valor hexadecimal usando a função hex()
.
Por exemplo,
s = "Sample String".encode("utf-8")
print(s.hex())
Resultado:
53616d706c6520537472696e67
No código acima, codificamos a string no tipo utf-8
e a convertemos em tipos de byte.
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedInArtigo relacionado - Python String
- Remover vírgulas da string em Python
- Como verificar se uma string está vazia de uma forma pythonica
- Converter uma string em nome de variável em Python
- Como remover espaços em branco numa string em Python
- Números extraídos de uma string em Python
- Como converter string para data em Python