Il giorno 26 febbraio 2012 18:01, Carlo Miron <mi...@python.it> ha scritto:
> 2012/2/26 Roberto Preziusi <roberto.prezi...@gmail.com>: > >>>> print "come faccio a stampare g='a0'?" > > come faccio a stampare g='a0'? > in effetti mi rendo conto di non esser stato molto chiaro. :) Praticamente ho una stringa molto lunga, dove ogni sottostringa è da convertire secondo una certa logica. Da una stringa tipo questa: s="*01*:03:00:A0:BC:*02*:09:55:54:00:00:00:00:00:00:07:*03* :0E:55:54:00:00:00:00:00:00:01:02:01:03:00:01:*04*:.." si tirano fuori le varie sottostringhe da convertire da esadecimale in ASCII (55 = 'U' ) o da esadecimale in numeri interi (0A=10) o anche una parte ascii e una parte interi (55:0A='U10'S) identificando la stringa come segue: *id:len:text* *01*:03:00:A0:BC *02*:09:55:54:00:00:00:00:00:00:07 *03*:0E:55:54:00:00:00:00:00:00:01:02:01:03:00:01 ... Vorrei definire una funzione generale che mi permetta di stampare il contenuto di ogni sottostringa convertendola come descritto prima. Ad esempio: *01*:03:00:A0:BC = 00A0BC *02*:09:55:54:00:00:00:00:00:00:07 = UT0000007 *03*:0E:55:54:00:00:00:00:00:00:01:02:01:03:00:01 = UT000000121301 mi blocco pero' nella prima parte ottenendo il carattere 'A0' . Volendo convertire da esadecimale ad ascii dovrebbe ritornarmi sempre la stringa 'A0', mentre invece mi ritorna 'xa0' che non riesco a stampare a video. >>> g = "A0".decode("hex") >>> print g � Ho pensato anche di stampare direttamente il carattere direttamente ma in questo modo non riesco a capire come rendere generale la funzione anche per la conversione hex2int Spero di esser stato un po' più chiaro. Saluti -- Preziusi Roberto
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python