BinaryConverter

BinaryConverter ist eine C# Konsolenanwendung für Windows 11 und .NET Framework 4.8.1. Sie kodiert binäre Dateien in ein Base64-Textformat, das sich per Copy & Paste auf einen anderen Host übertragen laesst, und dekodiert die Textdatei dort wieder in die binäre Originalform.

Funktionen

  • Streaming-Verarbeitung fuer grosse Dateien, auch mehrere hundert MB
  • Base64-Ausgabe mit stabilen Zeilenlängen fuer Copy & Paste
  • Metadaten im Transferfile: Formatversion, Originaldateiname, Länge, SHA-256
  • Integritaetsprüfung beim Decode ueber Dateigröße und SHA-256
  • Fortschrittsausgabe auf der Konsole
  • Optionales Logfile
  • Temporäre Ausgabedatei bei Encode und Decode, damit bei Fehlern keine kaputte Zieldatei stehen bleibt

Build

Voraussetzungen auf Windows:

  • Windows 11
  • Visual Studio 2022 oder Build Tools for Visual Studio
  • .NET Framework 4.8.1 Developer Pack / Targeting Pack

Build in einer Developer PowerShell:

msbuild .\BinaryConverter.sln /p:Configuration=Release

Die EXE liegt danach hier:

BinaryConverter\bin\Release\BinaryConverter.exe

Nutzung

Encode:

BinaryConverter.exe -Encode C:\temp\PowerShell.exe -Output Out.txt

Decode:

BinaryConverter.exe -Decode Out.txt PowerShell.exe

Alternative Decode-Syntax:

BinaryConverter.exe -Decode Out.txt -Output PowerShell.exe

Mit Logfile:

BinaryConverter.exe -Encode C:\temp\PowerShell.exe -Output Out.txt -Log BinaryConverter.log

Existierende Ausgabedatei ueberschreiben:

BinaryConverter.exe -Decode Out.txt PowerShell.exe -Force

Optionen

Option Bedeutung
-Encode <Datei> Binaerdatei in Transfer-Textdatei kodieren
-Decode <Datei> Transfer-Textdatei zurueck in Binaerdatei dekodieren
-Output <Datei> Ausgabepfad
-Force Existierende Ausgabedatei ueberschreiben
-Log <Datei> Zusaetzlich in eine Logdatei schreiben
-NoProgress Periodische Fortschrittszeilen abschalten
-Quiet Nur Fehler auf der Konsole ausgeben
-Help Hilfe anzeigen

Transferablauf

  1. Auf dem Quellhost -Encode ausfuehren.
  2. Inhalt der erzeugten Textdatei auf den Zielhost kopieren.
  3. Auf dem Zielhost den Text als Datei speichern, zum Beispiel Out.txt.
  4. Auf dem Zielhost -Decode Out.txt <Zieldatei> ausfuehren.
  5. Die Anwendung prueft Laenge und SHA-256 automatisch, sofern das Transferfile von BinaryConverter erzeugt wurde.

Hinweise

Base64 vergroessert die Datenmenge um ungefaehr ein Drittel. Eine 300-MB-Datei erzeugt also grob eine 400-MB-Textdatei plus wenige Metadatenzeilen. Fuer sehr grosse Dateien ist es sinnvoll, das Copy & Paste ueber einen Editor oder ein Terminal zu machen, das grosse Textmengen stabil verarbeiten kann.

S
Description
Converts any binary into an hex text representation and back.
Readme 55 KiB
Languages
C++ 50.9%
C# 48%
Makefile 1.1%