| |

Fortgeschrittene ProgrammierungRe: Komprimierungsarten | |  | Autor: E7 | Datum: 06.03.04 18:00 |
| Hi,
zu meinem Code gibt es nicht so sehr viele Verbesserungsmöglichkeiten, da der Code aus relativ wenig Zeilen besteht (abzügl. Kommentare)
Von Hoffman weiß ich leider nichts bzw. ich hab's schon mal gehört, kann aber den Namen mit keinem Verfahren in Verbindung bringen.
Ein Verfahren kapiere ich noch, zu dem ich leider auch keinen Namen weiß. Für diese Komprimierung zählt man die Häufigkeit der Buchstaben, der häufigste bekommt das Kürzel 1, der zweithäufigste bekommt das Kürzel 01, der dritthäufigste 001, der vierthäufigste 0001 und so weiter... Deswegen müssen auch vorher dem String/der Datei 256 Zeichen vorangestellt werden, die alle 256 Ascii-Zeichen in der Reihenfolge ihrer Häufigkeit enthalten, damit eine Decodierung möglich ist.
Hier mal ein Beispiel (mit einem stark vereinfachten System).
Nehmen wir mal an, es gibt 2 * 2 verschiedene Zeichen (=4), also A, B, C und D. Wir haben den String [u]ABCDABCDCCC.
Dann haben wir schon mal folgende Häufigkeitsverteilung:
CABD
C = 1
A = 01
B = 001
D = 0001
Hintereinander sieht dass dann so aus:
A=01 B=001 C=1 D=0001 A=01 B=001 C=1 D=0001 C=1 C=1 C=1
ergibt: 01001100010100110001111
=23 Bit komprimiert
Unkomprimiert hätten wir:
A=00
B=01
C=10
D=11
11 Zeichen (ABCDABCDCCC) * 2 Bit pro Zeichen = 22 Bit unkomprimiert
Tja, is doch nicht so ganz aufgegangen, wie ich gehofft hatte, aber da siehst du wenigstens, dass es sich bei kleinen Strings nicht lohnt... Aber dieses Verfahren ist (wie auch RLE) spitze, wenn nicht alle 256 Zeichen in einem String vorkommen (am besten, wenn 80 % der Zeichen höchsten 7 verschiedene sind).
Weitere Verfahren fallen mir leider nicht ein (oder evtl. kenn ich keine mehr)
E7
???????????????????????????????????????????????????????????
e7o.de | jetzt (wirklich) neu! |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
sevGraph (VB/VBA) 
Grafische Auswertungen
Präsentieren Sie Ihre Daten mit wenig Aufwand in grafischer Form. sevGraph unterstützt hierbei Balken-, Linien- und Stapel-Diagramme (Stacked Bars), sowie 2D- und 3D-Tortendiagramme und arbeitet vollständig datenbankunabhängig! Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|