Konvertieren von integer in hex-string mit dem besonderen format

Ich bin neu in python und habe Folgendes problem: ich brauche, um zu konvertieren eine ganze Zahl in einen hex-string mit 6 bytes.

z.B.
281473900746245 --> "\xFF\xFF\xBF\xDE\x16\x05"

Das format des hex-string ist wichtig. Die Länge des int-Wert ist variabel.

Format '0xffffbf949309L " don' T Arbeit für mich. (Ich bekomme das mit hex(int-Wert))


Meine endgültige Lösung (nach einigen "spielen") ist:

def _tohex(self, int_value):
    data_ = format(int_value, 'x')

    result = data_.rjust(12, '0')
    hexed = unhexlify(result)

    return hexed

Danke für all die Hilfe!

  • Wollen Sie eine Zeichenkette der Länge 6 definiert die Python string-literal "\xFF\xFF\xBF\xDE\x16\x05" oder der string der Länge 24 gegeben durch "\\xFF\\xFF\\xBF\\xDE\\x16\\x05"?
  • Die Begriffe "hex-string" und "format" sind irreführend, was Sie wirklich wollen ist zu eine ganze Zahl beliebiger Größe ein byte-string mit big-endian-Reihenfolge.
  • Bitte entschuldigen Sie mein Englisch, ich übersetzte die Bedingungen von meiner ersten Sprache - danke für die übersetzung.
InformationsquelleAutor Oxymoron | 2011-07-29
Schreibe einen Kommentar