10-03-2017, 05:55 PM
Páginas: 1 2
10-03-2017, 09:15 PM
Pues ahora que lo dices tengo un problema a la hora de convertir los datos que obtengo en hexadecimal a ascii , no lo consigo , necesito convertir los valores que almaceno en una variable a su correspondiente ascii , los valores los tengo en parejas , ya que tengo que descartar lo que no sean caracteres del alfabeto , te dejo un ejemplo , a ver si me puedes orientar un poco .
Tengo estos datos
35 38 34 34 35 35 34 37 4e 31 11 30 0f 06 90 00
y tendria que obtener esto otro
5 8 4 4 5 5 4 7 N , el resto no los necesito , no doy con la funcion estandar de python que me lo resuelva
Tengo estos datos
35 38 34 34 35 35 34 37 4e 31 11 30 0f 06 90 00
y tendria que obtener esto otro
5 8 4 4 5 5 4 7 N , el resto no los necesito , no doy con la funcion estandar de python que me lo resuelva
11-03-2017, 05:49 PM
Hola, puedes usar la función int() con base 16 para convertir de número hexadecimal a decimal, y luego chr() para obtener un caracter a partir de su correspondiente número ASCII.
El resultado es:
Un saludo.
Código:
from string import ascii_letters, digits
def hex_to_char(number):
return chr(int(number, 16))
valid = ascii_letters + digits
hex_data = "35 38 34 34 35 35 34 37 4e 31 11 30 0f 06 90 00"
char_data = [hex_to_char(number) for number in hex_data.split(" ")
if hex_to_char(number) in valid]
print(char_data)
El resultado es:
Código:
['5', '8', '4', '4', '5', '5', '4', '7', 'N', '1', '0']
Un saludo.
12-03-2017, 03:38 PM
No era eso exactamente lo que estaba buscando , pero muchas gracias , me ha servido y ya tengo solucionado todo
12-03-2017, 04:11 PM
Perfecto, un saludo.
Páginas: 1 2