Je veux transformer un entier (qui sera <= 255), en une représentation sous forme de chaîne hexagonale.
Par exemple : Je veux entrer 65
et obtenir '\x41'
, ou 255
et obtenir '\xff'
.
J'ai essayé de le faire avec la méthode struct.pack('c' ;,
65)
, mais elle s'arrête à tout ce qui est supérieur à 9
puisqu'elle veut prendre une chaîne à un seul caractère.
Vous recherchez la fonction chr
.
Vous semblez mélanger des représentations décimales d'entiers et des représentations hexagonales d'entiers, donc ce dont vous avez besoin n'est pas tout à fait clair. Sur la base de la description que vous avez donnée, je pense que l'un de ces extraits montre ce que vous voulez.
>>> chr(0x65) == '\x65'
True
>>> hex(65)
'0x41'
>>> chr(65) == '\x41'
True
Notez que c'est très différent de une chaîne contenant un entier en hexadécimal. Si c'est ce que vous voulez, utilisez le constructeur hex
.
Qu'en est-il de [hex()
][1] ?
hex(255) # 0xff
Si vous voulez vraiment avoir \
devant vous, vous pouvez le faire :
print '\\' + hex(255)[1:]