Konvertieren Zahl in einen Binär-string

Ist dies der beste Weg zu konvertieren eine Python-Zahl in eine hex-string?

number = 123456789
hex(number)[2:-1].decode('hex')

Manchmal funktioniert es nicht und beschwert sich über die Seltsame Zeichenfolge mit der Länge, wenn Sie tun 1234567890.

Klarstellung:

Werde ich von int nach hex.

Auch, muss ich es escapen.

IE:
1234567890 -> '\x49\x96\x02\xd2' nicht '499602D2'

Auch, es muss in der Lage sein, Python-Ganzzahl. DH. etwas größer als ein Int.

Edit:

Hier ist die beste Lösung bisher habe ich zusammengeschustert von Paolo und Devin ' s post.

def hexify(num):
    num = "%x" % num

    if len(num) % 2:
        num = '0'+num

    return num.decode('hex')
  • Sie nicht möchten, konvertieren Sie Ihre Zahl in ein hex-string überhaupt; Sie möchten, konvertieren Sie ihn in eine binäre Darstellung, oder base256.
  • ack, "hex-string" ist wirklich nicht der richtige Begriff hier
InformationsquelleAutor Unknown | 2009-03-30
Schreibe einen Kommentar