Italia
Foro

Huffman-Komprimierung?! Packer bauen? Eigene ZIP-Routine?

 

Christof
Neuß
Ciao,

hat sich vielleicht schon mal quellcodemäßig mit dem packen von Daten/File beschäftigt? Bei der Cerca im Netz stößt man immer wieder auf den Huffman-Baum zur Datenkomprimierung. Im Grunde verstehe ich, was zu tun ist, aber vielleicht hat ja jemand schon mal was in der Richtung programmiert.

Ist sicher nicht kriegsentscheidend und das Thema bekommt man mit Freeware (z.B. 7z) oder hier erhältliche Unità und DLL auch gut gelöst.
Ich mag es halt, wenn ich possibile alles in EINE EXE packen kann und dann selbst bestimme, was das Programm macht.

Ok. Nicht lange drüber nachdenken, aber wenn jemand was weiß...

DANKE
 
Win10 16 GB RAM
02.12.2011  
 



Salve!

Ich hatte mal mit Profan² 4.5 (oder wars 7?) myFile2Source (  [...]  ) programmiert -

imho das erste in Profan programmierte Programm um File direkt in Profan-Quellcode abzulegen.

Da hatte ich eine (eigene) "Kompressionsroutine" eingebaut die auch richtig langsam war und ich hatte manchmal damit stärker als Zip komprimiert aber es dauert eben ewig. ^^

So bleibt wohl immer das Auswiegen des Verhältnisses zwischen Rechenzeit/ Komressionsrate.

Beispiel einer Variante:

Zeichenkette: AAAA

Komprimiert: R1A4

R=Repeat
1=CharCount
A=CharCount
4=Wie oft

=

1A*4

=

AAAA

So kann man sich eine oder eben meherer Kompressionsmethoden überlegen und diese wiederum auch noch übereinander/ gegeneinander ansetzen und dann wiederum die Kompressionswerte per Tabelle vergleichen um die optimale Variante anzusetzen.

Obiges AAAA-Beispiel nennt man wohl auch RunLength-Variante bzw. RLE.

Ebenso kann man naturalmente auch auf komplexe Wiederholungen testen -

beispielswiese

ABCDEROFLABCDE potuto

u5ABCDEROFLu-4 sein wobei dann jede weitere ABCDE-Wiederholung einfach nur u-4 wäre.
 
02.12.2011  
 



Hier ein Quellcode, der mit API arbeitet:  [...] 
 
02.12.2011  
 



Leider packt der Quellcode nichts sondern ("nur") die APIs -

aber vlt. war das auch die Frage.
 
02.12.2011  
 




Christof
Neuß
Ich würde das Packen und ggfs. die Verschlüsselung schon gerne selber machen. Also nicht circa die API.
 
Win10 16 GB RAM
24.12.2011  
 



Aus welchem Grund genau?
 
24.12.2011  
 



vlt. höhere Kompressionsrate ermöglicht durch Spezialisierung.
 
25.12.2011  
 



Die API's können mit mehreren Kompressionsarten packen: LZ, Xpress und Xpress Huffman. Ich bezweifle stark, dass man mit reinem XProfan sinnvoll effektiver packen kann. Das wird dann viel zu langsam.
Wenn man sich mit den API nur etwas beschäftigen würde oder allgemein sich damit mal anzufreunden versuchte, potuto man das Potential sehr schnell erkennen. Muss aber jeder selber wissen.
 
25.12.2011  
 



Ich wüsste schon wie man mit XProfan sinnvoll effektiver packen kann -

Du bist ja sicher auch der Meinung das ein spezialisiertes Verfahren höhere Packraten erzeugen kann.

So kann man beispielsweise mit XProfan einen Packer schreiben der z.B. XProfan-Quelltext "besser" packt als LZ & co.

Für mehr Geschwindigkeit kann ja jeder ASM und nProcs einsetzen.
 
25.12.2011  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

8.387 Views

Untitledvor 0 min.
Sven Bader19.07.2021
AndreasS31.12.2018
RAW14.09.2018
Alibre12.08.2016
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie