Die hex()
Funktion in Python setzt die führenden Zeichen 0x
vor die Zahl. Gibt es sowieso zu sagen, sie NICHT zu setzen? So 0xfa230
wird es sein fa230
.
Der Code ist
import fileinput
f = open('hexa', 'w')
for line in fileinput.input(['pattern0.txt']):
f.write(hex(int(line)))
f.write('\n')
0x
.Antworten:
quelle
deadbeef
Beispiel lieben . Undformat()
ist der beste Weg, dies zu tun.Verwenden Sie diesen Code:
Hier können Sie auch eine Reihe von Ziffern angeben:
Für Python 2.6 verwenden
oder
quelle
format()
Funktion ist einfacher, Sie verwenden keine Vorlagenfunktion, sondern nur die Formatierung. Wenn alle Ihre Vorlage enthält , ist{:..}
für einen Wert bewegen ,format(value, '..')
statt.f.write('{:x}'.format(hex(int(line))))
, heißt esValueError: zero length field name in format
format
braucht ein int, kein string:f.write('{:x}'.format(int(line)))
Sie können einfach schreiben
um die ersten beiden Zeichen zu entfernen.
quelle
>>> hex(3735928559)[2:]
'deadbeefL'
x
es negativ ist.Python 3.6+:
quelle
Formatierung von Zeichenfolgen im alten Stil:
Neuer Stil
Die Verwendung von Großbuchstaben als Formatzeichen ergibt hexadezimale Großbuchstaben
Docs sind hier.
quelle