Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
Delphi 11 Alexandria
|
Re: Unterschiede in Binärdatei(en) separat speichern
16. Jul 2008, 11:28
Hi,
das von Dir zitierte Verfahren setzt (würde ich mal vermuten) gleich große (Bild-Dateien) voraus.
Die Pixel-Differenzen = 0 (also viele gleiche Bildinhalte) lassen sich dann platzsparend komprimieren.
Dein Problem würde ich so angehen:
1) Checkdaten für alte Zip ermitteln (damit beim Einlesen von gleichen Dateien ausgegangen wird)
- Dateiname
- Speicherdatum
- Dateigröße
- EinePrüfsumme
2) das gleiche für die neue Zip
3) beides in einen Stream speichern
4) die Bytes der neuen Zip in den Stream schreiben
4a) ggf. Kennzeichen für gleichen Block und die Anzahl der Bytes ("=10000")
und die Daten weglassen
4b) ggf. Kennzeichen für neue Daten und die Anzahl der Bytes ("!500")
und die neuen Bytes anfügen
Beim Wiederherstellen können dann 10000 Bytes aus der alten Zip gelesen werden und die neuen 500 aus dem neue übertragenen Stream.
Ich weiß aber nicht, inwieweit Zips evtl. ihre gesamte Struktur verändern, wenn neue Daten angefügt werden.
Wenn es abwechselnd viele gleiche und auch unterschiedliche Abschnitte gibt wird das Gasnze sicher rsehr aufwändig.
stahli
|