Ich bin ein Anfänger, der versucht, ein Programm zu schreiben, das in .exe-Dateien, .class-Dateien oder .pyc-Dateien liest und den prozentualen Anteil an alphanumerischen Zeichen (az, AZ , 0-9). Hier ist, was ich habe jetzt (ich versuche nur zu sehen, ob ich etwas im Moment identifizieren kann, nicht Sachen suchen noch zu zählen):So überprüfen Sie alphanumerische Zeichen in einer Binärdatei
chars_total = 0
chars_alphnum = 0
iterate = 1
with open("pythonfile.pyc", "rb") as f:
byte = f.read(iterate)
while byte != b"":
chars_total += 1
print (byte)
iterate +=1
byte = f.read(iterate)
Dieser Code druckt verschiedene Bytes wie
b'\xe1WQ\x00'
b'\x00\x00c\x00\x00'
aber ich habe Probleme mit der Übersetzung der Bytes selbst.
Ich habe auch versucht print (binascii.hexlify(byte))
nach dem Importieren binascii, die alles in alphanumerische Zeichen konvertiert, die nicht ganz das zu sein, was ich suche. Bekomme ich gerade etwas schwer falsch oder bin ich zumindest auf dem richtigen Weg?
Vollständiger Disclaimer, dies bezieht sich zu einem kleinen Teil auf eine Hausaufgabe, aber wir haben die Erlaubnis, diese Seite zu benutzen, da weder das In-Class-Material noch die Lektüre irgendeine Kodierung umfasst. Und ja, ich habe versucht, das herauszufinden, bevor ich hierher kam.
müssen Sie wirklich Ihre Hausaufgaben machen. –
1) Öffnen Sie die Datei. 2) Lesen Sie den Inhalt. 3) Iteriere über die Bytes. 4) Bestimmen Sie, ob ein Byte alphanumerisch ist oder nicht. 5) Zähle weiter. 6) Ergebnis anzeigen. Bisher haben Sie gezeigt, dass Sie keinen dieser Schritte durchgeführt haben. Bitte geben Sie an, mit welchem Problem Sie gerade Probleme haben, und zeigen Sie den Code an, den Sie zumindest versucht haben. –
Ja, das ist Teil einer Hausaufgabe. Siehe die obigen Änderungen. –