# BinaryConverter BinaryConverter ist eine C# Konsolenanwendung fuer Windows 11 und .NET Framework 4.8.1. Sie kodiert binaere Dateien in ein Base64-Textformat, das sich per Copy & Paste auf einen anderen Host uebertragen laesst, und dekodiert die Textdatei dort wieder in die binaere Originalform. ## Funktionen - Streaming-Verarbeitung fuer grosse Dateien, auch mehrere hundert MB - Base64-Ausgabe mit stabilen Zeilenlaengen fuer Copy & Paste - Metadaten im Transferfile: Formatversion, Originaldateiname, Laenge, SHA-256 - Integritaetspruefung beim Decode ueber Dateigroesse und SHA-256 - Fortschrittsausgabe auf der Konsole - Optionales Logfile - Temporaere 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: ```powershell msbuild .\BinaryConverter.sln /p:Configuration=Release ``` Die EXE liegt danach hier: ```text BinaryConverter\bin\Release\BinaryConverter.exe ``` ## Nutzung Encode: ```powershell BinaryConverter.exe -Encode C:\temp\PowerShell.exe -Output Out.txt ``` Decode: ```powershell BinaryConverter.exe -Decode Out.txt PowerShell.exe ``` Alternative Decode-Syntax: ```powershell BinaryConverter.exe -Decode Out.txt -Output PowerShell.exe ``` Mit Logfile: ```powershell BinaryConverter.exe -Encode C:\temp\PowerShell.exe -Output Out.txt -Log BinaryConverter.log ``` Existierende Ausgabedatei ueberschreiben: ```powershell BinaryConverter.exe -Decode Out.txt PowerShell.exe -Force ``` ## Optionen | Option | Bedeutung | | --- | --- | | `-Encode ` | Binaerdatei in Transfer-Textdatei kodieren | | `-Decode ` | Transfer-Textdatei zurueck in Binaerdatei dekodieren | | `-Output ` | Ausgabepfad | | `-Force` | Existierende Ausgabedatei ueberschreiben | | `-Log ` | 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 ` 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.