Initial BinaryConverter implementation.
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
# 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 <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.
|
||||
Reference in New Issue
Block a user