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
- Auf dem Quellhost
-Encodeausfuehren. - Inhalt der erzeugten Textdatei auf den Zielhost kopieren.
- Auf dem Zielhost den Text als Datei speichern, zum Beispiel
Out.txt. - Auf dem Zielhost
-Decode Out.txt <Zieldatei>ausfuehren. - 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.