HOWTO · Python
Cadena a hexadecimal en Python
Este tutorial demuestra cómo convertir cadenas a hexadecimales en Python
En esta página
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.