AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Datei nur aus 0 und 1 komprimieren

Ein Thema von lkz633 · begonnen am 14. Feb 2004 · letzter Beitrag vom 14. Feb 2004
Antwort Antwort
Seite 1 von 2  1 2      
lkz633

Registriert seit: 9. Jun 2002
Ort: Aachen
221 Beiträge
 
#1

Datei nur aus 0 und 1 komprimieren

  Alt 14. Feb 2004, 10:40
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
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Datei nur aus 0 und 1 komprimieren

  Alt 14. Feb 2004, 10:49
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
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
lkz633

Registriert seit: 9. Jun 2002
Ort: Aachen
221 Beiträge
 
#3

Re: Datei nur aus 0 und 1 komprimieren

  Alt 14. Feb 2004, 11:09
Hatt jemand code oder Ideen wie ich das überhaupt prinzipiell anstellen müsste, z.B auch 150 kb hinzubekommen?

Gruss lkz633
  Mit Zitat antworten Zitat
Minz

Registriert seit: 19. Dez 2002
476 Beiträge
 
#4

Re: Datei nur aus 0 und 1 komprimieren

  Alt 14. Feb 2004, 11:09
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.

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

Gruß Minz
  Mit Zitat antworten Zitat
Benutzerbild von FriFra
FriFra

Registriert seit: 19. Apr 2003
1.291 Beiträge
 
Delphi 2005 Professional
 
#5

Re: Datei nur aus 0 und 1 komprimieren

  Alt 14. Feb 2004, 11:14
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
Elektronische Bauelemente funktionieren mit Rauch. Kommt der Rauch raus, geht das Bauteil nicht mehr.
  Mit Zitat antworten Zitat
lkz633

Registriert seit: 9. Jun 2002
Ort: Aachen
221 Beiträge
 
#6

Re: Datei nur aus 0 und 1 komprimieren

  Alt 14. Feb 2004, 11:34
Das ist ledier schon Hexadezimal

Gruss lkz633
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#7

Re: Datei nur aus 0 und 1 komprimieren

  Alt 14. Feb 2004, 11:40
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 ?
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Benutzerbild von FriFra
FriFra

Registriert seit: 19. Apr 2003
1.291 Beiträge
 
Delphi 2005 Professional
 
#8

Re: Datei nur aus 0 und 1 komprimieren

  Alt 14. Feb 2004, 11:48
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.
Elektronische Bauelemente funktionieren mit Rauch. Kommt der Rauch raus, geht das Bauteil nicht mehr.
  Mit Zitat antworten Zitat
lkz633

Registriert seit: 9. Jun 2002
Ort: Aachen
221 Beiträge
 
#9

Re: Datei nur aus 0 und 1 komprimieren

  Alt 14. Feb 2004, 12:45
Danke für eure Ideen, das hilft mir schon mal weiter

Gruss lkz633
  Mit Zitat antworten Zitat
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#10

Re: Datei nur aus 0 und 1 komprimieren

  Alt 14. Feb 2004, 14:59
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.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:20 Uhr.
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