Convertir Byte a Hex en Python
- Iniciar un Byte Literal en Python
-
Use el método
hex()
para convertir un byte en hexadecimal en Python -
Usar el módulo
binascii
para convertir un byte a hexadecimal en Python
Este tutorial introducirá cómo convertir los bytes en hexadecimal en Python.
El tipo de datos de los bytes en Python es una secuencia de bytes que puede ser almacenada en el disco como una variable, que luego puede ser codificada y decodificada. Se declaran como una cadena pero con el prefijo del carácter b
. Los bytes aceptan caracteres especiales Unicode prefijados con \x
.
Iniciar un Byte Literal en Python
Daremos un ejemplo de un literal de byte, declararemos una cadena con caracteres especiales, y usaremos la función encode('utf-8')
para convertirla en un literal de byte.
byte_var = "γιαούρτι - yogurt".encode("utf-8")
print(byte_var)
Resultado:
b'\xce\xb3\xce\xb9\xce\xb1\xce\xbf\xcf\x8d\xcf\x81\xcf\x84\xce\xb9 - yogurt'
La salida de encode()
resultará en un literal de byte prefijado con el carácter b
y los caracteres especiales convertidos en símbolos Unicode.
Ahora que la declaración de un byte está cubierta, procedamos a convertir un byte en hexadecimal.
Use el método hex()
para convertir un byte en hexadecimal en Python
El hex()
método introducido desde Python 3.5 lo convierte en una cadena hexadecimal.
En este caso, el argumento será de un tipo de datos de byte que se convertirá en hexadecimal.
byte_var = "γιαούρτι - yogurt".encode("utf-8")
print("Byte variable: ", byte_var)
print("Hexadecimal: ", byte_var.hex())
Resultado:
Byte variable: b'\xce\xb3\xce\xb9\xce\xb1\xce\xbf\xcf\x8d\xcf\x81\xcf\x84\xce\xb9 - yogurt'
Hexadecimal: ceb3ceb9ceb1cebfcf8dcf81cf84ceb9202d20796f67757274
Usar el módulo binascii
para convertir un byte a hexadecimal en Python
El módulo Python binascii
contiene eficientes funciones de utilidad para operaciones binarias y ASCII.
Dentro de este módulo, hay una función hexlify()
que devuelve un valor hexadecimal del argumento dado, que es un valor binario.
En este ejemplo, el argumento será la variable de byte que se convertirá en hexadecimal.
import binascii
byte_var = "γιαούρτι - yogurt".encode("utf-8")
print("Byte variable: ", byte_var)
print("Hexadecimal: ", binascii.hexlify(byte_var))
Resultado:
Byte variable: b'\xce\xb3\xce\xb9\xce\xb1\xce\xbf\xcf\x8d\xcf\x81\xcf\x84\xce\xb9 - yogurt'
Hexadecimal: b'ceb3ceb9ceb1cebfcf8dcf81cf84ceb9202d20796f67757274'
Tenga en cuenta que el valor de retorno de hexlify()
devuelve un byte literal, a diferencia de hex()
, que devuelve una cadena convertida.
Si quiere convertir el resultado en una cadena, use la función decode('utf-8')
.
import binascii
byte_var = "γιαούρτι - yogurt".encode("utf-8")
print("Byte variable: ", byte_var)
print("Hexadecimal: ", "" + binascii.hexlify(byte_var).decode("utf-8"))
Resultado:
Byte variable: b'\xce\xb3\xce\xb9\xce\xb1\xce\xbf\xcf\x8d\xcf\x81\xcf\x84\xce\xb9 - yogurt'
Hexadecimal: ceb3ceb9ceb1cebfcf8dcf81cf84ceb9202d20796f67757274
Ahora el resultado hexadecimal se convierte en una cadena de un byte literal.
En resumen, hemos cubierto 2 métodos para convertir un byte a hexadecimal en Python. La forma más simple es usar la función incorporada hex()
a un literal de byte. Alternativamente, la función hexlify()
del módulo binascii
también puede ser usada para producir la misma salida.
Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.
LinkedInArtículo relacionado - Python Bytes
- Cómo convertir bytes a enteros en Python 2.7 y 3.x
- Cómo convertir Int a Bytes en Python 2 y Python 3
- Cómo convertir la Int a Binario en Python
- Cómo convertir los bytes en cadenas en Python 2 y Python 3
- Cómo convertir una cadena en bytes en Python
- B delante de la cadena en Python