gpBinEncode - General Purpose Binary Encoding

Veröffentliche deine funktionierenden Skripte und Funktionen

Moderator: jNizM

Alibaba
Posts: 427
Joined: 29 Sep 2013, 16:15
Location: Germany

gpBinEncode - General Purpose Binary Encoding

18 Aug 2015, 07:45

Hey Leute,
ich bin auch mal wieder zurück, habe endlich Urlaub! :D

Da ich in letzter Zeit ein Wenig mit Binärkodierungen "rumgespielt" habe, ist nebenbei eine kleine Hilfsbibliothek entstanden, welche ich hier teilen möchte.
Wie der Name schon sagt, stellt die Bibliothek eine Funktion "gpBinEncode()", welche es ermöglicht jede beliebige Binärkodierung mit festen Quell- und Codewörtern auf serielle Art und Weise (und auf beliebigen Daten) durchzuführen.
Unter Anderem könnte man damit also auch Paritätskodes, Shannon-Fano- oder Huffman-Optimalkodierungen, Hamming-Kodes oder zyklische Kodes realisieren.
Daneben finden sich auch 2 Hilfsfunktionen "gpLoadBinString()" / "gpStoreBinString()" zum Laden und Lesen von binären Daten beliebiger Länge in den/aus dem Speicher. Dies ist vorallem zum Testen des Codes recht nützlich.
Eine weitere Funktion "gpApproxAverageLength()" wird lediglich intern zur Optimierung genutzt. Sie schätzt aus einer gegebenen Code-Tabelle die mittlere Codewortlänge.

Nochmal der komplette Umfang:
gpBinEncode(ByRef sourceData, ByRef encodedData, encodingTable, sourceLength="StrLen", ByRef leftoverData := "omitted", ByRef leftoverLength := "")
gpStoreBinString(ByRef var, binString)
gpLoadBinString(ByRef var, length)
gpApproxAverageLength(encodingTable)



Hier ist die Bibliothek:
gpBinEncode.ahk



Und hier noch 3 Beispiele: (deren tatsächlicher Nutzen in Frage gestellt werden könnte, aber welche die Funktionsweise gut verdeutlichen ;) )
Examples.ahk


Freue mich über jegliches Feedback!
LG, Alibaba
"Nothing is quieter than a loaded gun." - Heinrich Heine
Alibaba
Posts: 427
Joined: 29 Sep 2013, 16:15
Location: Germany

Re: gpBinEncode - General Purpose Binary Encoding

18 Aug 2015, 18:13

Update auf v0.2:
-Funktion approxAverageLength() repariert
"Nothing is quieter than a loaded gun." - Heinrich Heine

Return to “Skripte und Funktionen”

Who is online

Users browsing this forum: No registered users and 3 guests