Cadena a hexadecimal en Python
Los valores hexadecimales tienen una base de 16. En Python, las cadenas hexadecimales tienen el prefijo 0x
.
La función hex()
se utiliza para convertir un entero decimal en su número hexadecimal respectivo. Por ejemplo,
a = 102
print(hex(a))
Producción :
0x66
También podemos convertir valores flotantes a hexadecimales usando la función hex()
con la función float()
. El siguiente código implementa esto.
a = 102.18
print(float.hex(a))
Producción :
0x1.98b851eb851ecp+6
No podemos convertir una cadena usando esta función. Entonces, si tenemos una situación en la que tenemos una cadena hexadecimal y queremos convertirla en el número hexadecimal, no podemos hacerlo directamente. Para tales casos, tenemos que convertir esta cadena al valor decimal requerido usando la función int()
y luego convertirla al número hexadecimal usando la función hex()
discutida anteriormente.
El siguiente código muestra esto.
hex_s = "0xEFA"
a = int(hex_s, 16)
hex_n = hex(a)
print(hex_n)
Producción :
0xefa
Los caracteres de la cadena no tienen ningún valor hexadecimal correspondiente. Sin embargo, si convertimos una cadena a un objeto de tipo bytes, usando la función encode()
, podemos convertirla a su valor hexadecimal usando la función hex()
.
Por ejemplo,
s = "Sample String".encode("utf-8")
print(s.hex())
Producción :
53616d706c6520537472696e67
En el código anterior, codificamos la cadena en el tipo utf-8
y la convertimos en tipos de bytes.
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.
LinkedInArtículo relacionado - Python String
- Eliminar comas de cadena en Python
- Cómo comprobar si una cadena está vacía de forma ptónica
- Convertir una cadena en nombre de variable en Python
- Cómo eliminar los espacios en blanco de una cadena en Python
- Cómo extraer números de una cadena en Python
- Cómo convertir una cadena a datetime en Python