[Python] print question
Roberto Preziusi
roberto.preziusi a gmail.com
Dom 26 Feb 2012 18:36:19 CET
Il giorno 26 febbraio 2012 18:01, Carlo Miron <miron a python.it> ha scritto:
> 2012/2/26 Roberto Preziusi <roberto.preziusi a 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
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20120226/738f665a/attachment.html>
Maggiori informazioni sulla lista
Python