Ich möchte eine ganze Zahl (die <= 255), in eine Hex-String-Darstellung zu nehmen
z.B.: Ich möchte 65
eingeben und '\x41'
, oder 255
und '\xff'
erhalten.
Ich habe versucht, dies mit struct.pack('c',
65)
zu tun, aber das erstickt alles über 9
, da es eine einzelne Zeichenkette aufnehmen will.
Sie suchen nach der Funktion "chr".
Sie scheinen dezimale Darstellungen von ganzen Zahlen und hexadezimale Darstellungen von ganzen Zahlen zu vermischen, daher ist nicht ganz klar, was Sie brauchen. Anhand der Beschreibung, die Sie gegeben haben, denke ich, dass einer dieser Schnipsel zeigt, was Sie wollen.
>>> chr(0x65) == '\x65'
True
>>> hex(65)
'0x41'
>>> chr(65) == '\x41'
True
Beachten Sie, dass dies etwas ganz anderes ist als eine Zeichenkette, die eine ganze Zahl in hexadezimaler Form enthält. Wenn es das ist, was Sie wollen, verwenden Sie das hex
builtin.
Was ist mit hex()`?
hex(255) # 0xff
Wenn Sie wirklich \
vorangestellt haben wollen, können Sie das tun:
print '\\' + hex(255)[1:]
Versuchen Sie es:
"0x%x" % 255 # => 0xff
oder
"0x%X" % 255 # => 0xFF
Die Python-Dokumentation sagt: "keep this under Your pillow: http://docs.python.org/library/index.html"