es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo obtener la cadena de 5 dígitos hexadecimales en Python?

Tengo un entero que convertí a hexadecimal de la siguiente manera:

int_N = 193402
hex_value = hex(int_N)

me da el siguiente hexadecimal: 0x2f37a.

Quiero convertir el hexadecimal a string.

Intenté esto:

bytes.fromhex(hex_value[2:]).decode(‘ASCII’)
# [2:] para eliminar el 0x

sin embargo, me devuelve este error:

UnicodeDecodeError: El códec ‘ascii’ no puede decodificar el byte 0xf6 en la posición 1: ordinal no está dentro del rango(128)

Luego intenté con decode(‘utf-8’) en lugar de ASCII, pero me dio este error:

UnicodeDecodeError: El códec ‘utf-8’ no puede decodificar el byte 0xf6 en la posición 1: byte de inicio no válido

¿Alguna sugerencia sobre cómo solucionarlo? ¿Por qué no se está convirtiendo el hexadecimal ‘0x2f37a’ a un string?

Después de leer algunas documentaciones, supongo que el hexadecimal debería contener un número par de dígitos para poder convertirlo en string, pero no pude hacerlo ni hacerlo par, ya que estoy usando hex() y me dio el valor.

¡Gracias y apreciaría mucho cualquier ayuda!

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que estás intentando convertir un valor hexadecimal a una cadena, pero estás obteniendo un error. Es probable que el valor hexadecimal que estés intentando convertir contenga caracteres que no puedan representarse en ASCII o UTF-8. Para solucionar esto, podrías intentar utilizar una codificación diferente, como UTF-16 o UTF-32. Alternativamente, podrías intentar rellenar el valor hexadecimal con ceros para que tenga un número par de dígitos.

Comments are closed.