Kopieren Sie den Inhalt einer Binärdatei als Hex-Zeichen

1201
AllSolutions

Ich möchte den Inhalt einer Binärdatei als Hex-Zeichen kopieren.

Notepad ++ Plugin ASCII zu Hex funktioniert nicht, da die Zeichen nicht ASCII sind.

In TextPad 5.3 hat der Hex-Modus keine Kopieroption.

Wenn ich im Hex-Modus kopiere und versuche, in eine andere Anwendung einzufügen, werden in einigen anderen Tools der Nur-Text oder die ursprünglichen Binärzeichen anstelle der Hex-Zeichen eingefügt.

0

1 Antwort auf die Frage

1
barlop

als Beispiel das Hex für die "Binärdatei", dh die ausführbare Datei, c: \ windows \ system32 \ calc.exe (der Windows-Rechner)

C:\>xxd -p c:\windows\system32\calc.exe >c:\crp\a.a 

und hier ist das hex von calc.exe in wordpad

Und wo kann man xxd bekommen, na ja, wie ich hier in meiner Antwort erwähne (was eine leicht verwandte, aber andere Frage beantwortet) Konvertieren Sie Hex-Dump-Dateien von Dateien in Binärdateien (Programmdateien) unter Windows? xxd ist im Lieferumfang von vim7 für Windows enthalten, sodass Sie es von dort aus kopieren können. Oder Sie können es von Cygwin bekommen

Es funktioniert, scheint aber eine feste Nr. Zu haben. Zeichen pro Zeile und fügt künstliche neue Zeilenzeichen ein. Ich möchte das rohe Sechseck ohne Umwicklung oder mit fester Breite. AllSolutions vor 7 Jahren 0
@AllSolutions `xxd -p blah.exe | tr -d '\ r \ n'> c: \ crp \ aa` (entfernt alle \ r-Zeichen und alle \ n-Zeichen). Sie können tr mit gnuwin32 oder cygwin bekommen (und cygwin ist besser als gnuwin32 in Bezug auf spätere Versionen). barlop vor 7 Jahren 0
Aber was ist ein tatsächliches Zeichen in der Datei, das ich nicht entfernen möchte? AllSolutions vor 7 Jahren 0
@AllSolutions. Sie meinen, was ist, wenn in der Binärdatei ein \ r \ n \ n \ n \ n \ n \ n \ n \ r \ n \ n Sie sie nicht entfernen. Die Entfernung erfolgt nach seinem Hex. Und wenn sich in der Hex-Datei ein \ r \ n befindet, möchten Sie das entfernen. Denken Sie daran, wir nehmen die Binärdatei (die möglicherweise ein \ r \ n (d. H. Zwei Bytes nebeneinander) enthält, was einige oder einige Daten bedeuten kann Wenn Sie die Datei in hexadezimal konvertieren, konvertieren wir diese Datei in hexadezimal, so dass jedes \ r \ n in der Binärdatei keine neue Zeile wäre und in 0d0a konvertiert würde. Jede neue Zeile in der hexadezimalen Datei wird ein tatsächliches \ r \ n sein eine tatsächliche neue Zeile. Wenn Sie also \ r \ n aus der Hex-Datei entfernen, schadet es überhaupt nicht barlop vor 7 Jahren 0
auch und eine Randnotiz .. tr -d '\ r \ n' würde technisch gesehen jeden Unix-Stil \ ns entfernen .. es wäre genauso wie tr -d '\ n \ r' ', da es jeden \ n entfernt und immer \ r. (und wieder entfernen \ n oder \ r oder natürlich \ r \ n, ist in Ordnung .. 'cos die binäre Datei wird in ein hexadezimales Format umgewandelt, das als Unicode / ASCII gespeichert ist) barlop vor 7 Jahren 0
auch für Sie zu sagen "Aber was ist ein tatsächliches \ r \ n-Zeichen in der Datei?" Sie müssen wirklich nachsehen, was ist, was ist und was Sie denken müssen Weitere Informationen dazu, was ein Charakter ist und was Sie wirklich bedeuten, wenn Sie einen Charakter in der Datei sagen. Es ist so eine untechnische Sprache. Und was interessiert Sie auch daran? barlop vor 7 Jahren 0
Ich möchte keine Zeichen in der Originaldatei entfernen. Der Hex-Dump sollte zur Formatierung keine eigenen Zeilenumbrüche enthalten. Was ist daran untechnisch? AllSolutions vor 7 Jahren 0
Ich glaube wirklich nicht, dass Sie verstehen, was ich sage, und übrigens, es wird nichts aus der Originaldatei entfernt. Was den Hex-Dump angeht, ist es nicht ideal, dass der Hex-Dump neue Zeilenzeichen einfügt In den Hex-Dump, aber ich entferne sie aus dem Hex-Dump, also spielt es keine Rolle. barlop vor 7 Jahren 0