A veces, podemos estar en un problema en el que necesitamos manejar las conversiones de tipos de datos inusuales. Una de estas conversiones puede ser convertir la lista de bytes (bytearray) al formato de string hexadecimal. Vamos a discutir ciertas formas en que esto se puede hacer.
Método #1: Usarformat() + join()
La combinación de las funciones anteriores se puede usar para realizar esta tarea en particular. La función de formato convierte los bytes en formato hexadecimal. El formato “02” se usa para rellenar los ceros iniciales requeridos. La función de unión permite unir el resultado hexadecimal en una string.
# Python3 code to demonstrate working of # Converting bytearray to hexadecimal string # Using join() + format() # initializing list test_list = [124, 67, 45, 11] # printing original list print("The original string is : " + str(test_list)) # using join() + format() # Converting bytearray to hexadecimal string res = ''.join(format(x, '02x') for x in test_list) # printing result print("The string after conversion : " + str(res))
The original string is : [124, 67, 45, 11] The string after conversion : 7c432d0b
Método #2: Usarbinascii.hexlify()
La función incorporada de hexlify se puede usar para realizar esta tarea en particular. Esta función se recomienda para esta conversión en particular, ya que está hecha a medida para resolver este problema específico.
# Python3 code to demonstrate working of # Converting bytearray to hexadecimal string # Using binascii.hexlify() import binascii # initializing list test_list = [124, 67, 45, 11] # printing original list print("The original string is : " + str(test_list)) # using binascii.hexlify() # Converting bytearray to hexadecimal string res = binascii.hexlify(bytearray(test_list)) # printing result print("The string after conversion : " + str(res))
The original string is : [124, 67, 45, 11] The string after conversion : 7c432d0b
Publicación traducida automáticamente
Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA