[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [gulliver] [python] comment imprimer une chaine en hexa ?


From Thomas de Grenier de Latour <degrenier at easyconnect dot fr>
Subject Re: [gulliver] [python] comment imprimer une chaine en hexa ?
Date Tue, 12 Jul 2005 15:04:58 +0200

On Tue, 12 Jul 2005 14:17:21 +0200
David MENTRE <david dot mentre at gmail dot com> wrote:

> mystr=''
> for i in range(len(str_pkt)):
>     mystr += "%02x" % ord(str_pkt[i])
> 
> print "%s" % mystr

Ça peut s'alléger un peu :

mystr=''
for c in str_pkt:
     mystr += "%02x" % ord(c)
print mystr


Sinon, sans chaine intermédiaire, tu peux directement envoyer sur
stdout (ou n'importe quel autre descripteur) :

for c in str_pkt:
     sys.stdout.write("%02x" % ord(c))
sys.stdout.write("\n")
sys.stdout.flush()


Tu peux aussi écrire ça assez succintement avec un générateur et
la méthode join des strings :

print ''.join("%02x" % ord(c) for c in str_pkt)

...mais faut voir si c'est vraiment plus lisible. Et puis ça doit
pas marcher avec n'importe quels Python, enfin pas les 2.2 et
inférieurs je crois.

-- 
TGL.