Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Datei nur aus 0 und 1 komprimieren (https://www.delphipraxis.net/16279-datei-nur-aus-0-und-1-komprimieren.html)

lkz633 14. Feb 2004 10:40


Datei nur aus 0 und 1 komprimieren
 
Hallo,

ich habe eine 16 MB grosse Datei, die nur aus 0 und 1 besteht. Hat jemand eine Idee wie ich soetwas komprimieren kann, kenne mich damit leider überhaupt nicht aus. Winrar mach daraus ca. 150 kb, würde das aber gerne unter 50 hinbekommen. Da nur 0 und 1 müsste das doch sicherlich gehen, aber wie?

Bin für jeden Code oder Hinweis dankbar
Gruss lkz633

PS: Wusste nicht genau in welche Sparte, sorry

SirThornberry 14. Feb 2004 10:49

Re: Datei nur aus 0 und 1 komprimieren
 
also aus 16 mb, 160 kb zu machen ist schon so ziemlich das beste... wenn du 16 durch 8 teilst (also das ganze zu bytes zusammensetzt) und dann die 2 mb durch 160 kb teilst isses ne supi kompression

lkz633 14. Feb 2004 11:09

Re: Datei nur aus 0 und 1 komprimieren
 
Hatt jemand code oder Ideen wie ich das überhaupt prinzipiell anstellen müsste, z.B auch 150 kb hinzubekommen?

Gruss lkz633

Minz 14. Feb 2004 11:09

Re: Datei nur aus 0 und 1 komprimieren
 
Vom Prinzip her könntest du alle aufeinander folgenden 0 und 1 zählen.

Also aus 11111100010000 wird dann
6x1,3x0,1x1,4x0 -> diese Folge ist allerdings sogar 1 Zeichen länger

Es gilt also eine richtige Formatierung zu finden, so dass alles unter 4-facher Wiederholung nicht berücksichtigt wird, weil dies keine Einsparung bedeuted

6x1/0001/4x0 Dieses Teil hat immerhin schon 2 Zeichen weniger als der Ursprung

Tja und so kann man dann kreativ werden und sich verschiedene Methoden der Kompression ausdenken. Ziemlich mühsam.

Also aus den 16mb 150kb zu machen, ist wirklich nicht schlecht. :mrgreen:

16.000.000 byte -> 150.000 Byte, dass heißt eine Einsparung von 99 % !!

Gruß Minz

FriFra 14. Feb 2004 11:14

Re: Datei nur aus 0 und 1 komprimieren
 
ich nehme mal an, dass es sich um eine ASCII-Datei handelt...

Dann könntest Du die Datei schonmal sehr einfach auf die Hälfte schrumpfen ;)
Code:
ASCII    HEX                 "Komprimiert" HEX
010010    30 31 30 30 31 30    01 00 10
Du musst Die nur etwas einfallen lassen, wie Du die Länge speicherst, denn bei ungerader Länge gibt es sonst beim "Dekomprimieren" ein kleines Problem mit dem letzten Zeichen ;)

lkz633 14. Feb 2004 11:34

Re: Datei nur aus 0 und 1 komprimieren
 
Das ist ledier schon Hexadezimal :-)

Gruss lkz633

MrKnogge 14. Feb 2004 11:40

Re: Datei nur aus 0 und 1 komprimieren
 
Zitat:

Zitat von SirThornberry
also aus 16 mb, 160 kb zu machen ist schon so ziemlich das beste... wenn du 16 durch 8 teilst (also das ganze zu bytes zusammensetzt) und dann die 2 mb durch 160 kb teilst isses ne supi kompression

warum durch 2 teilen ?

FriFra 14. Feb 2004 11:48

Re: Datei nur aus 0 und 1 komprimieren
 
Du könntest aber z.B. hergehen und jeweils 20er Binärblöcke in 5-stellige Hexadezimalzahlen umwandeln.

Code:
Original:
11111111111111111111 11010010101100111000 11110001110101110101 00000000000000000000

Komprimiert:
FFFFF D2B38 F1D75 00000
Im Beispiel musst Du natürlich sicher stellen, dass deine neuen Blöcke jeweils 5 -Stellig bleiben, damit Du es auch wieder dekodieren kannst ;)
Dieses Verfahren schrumpft das ganze schon auf ein Viertel zusammen und das ist sicher noch Ausbaufähig.
Wobei Du auch hier eine Lösung für den letzten Block finden musst, da die Dateilänge sicher nicht immer durch 20 teilbar ist.

lkz633 14. Feb 2004 12:45

Re: Datei nur aus 0 und 1 komprimieren
 
Danke für eure Ideen, das hilft mir schon mal weiter

Gruss lkz633

stoxx 14. Feb 2004 14:59

Re: Datei nur aus 0 und 1 komprimieren
 
Zitat:

Zitat von lkz633
Hallo,

ich habe eine 16 MB grosse Datei, die nur aus 0 und 1 besteht. Hat jemand eine Idee wie ich soetwas komprimieren kann, kenne mich damit leider überhaupt nicht aus. Winrar mach daraus ca. 150 kb, würde das aber gerne unter 50 hinbekommen.


7 -Zip dürfte noch bissl besser sein. Macht die kleinsten Zip Formate.
Das eigene 7z Format ist zwar noch kleiner, aber kann ja keiner lesen *g*
Ansonsten dauert es auch länger als mit anderen Packprogrammen.

http://www.7-zip.org/

Aber Quellcodes sind da natürlich nicht dabei.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:53 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz