Bit aus Datei lesen

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Jey

Betreff: Bit aus Datei lesen

BeitragFr, Apr 06, 2007 16:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
ich bin gerade dabei ein Komprimierungsprogramm zu schreiben. Nun will ich mich von den bytes trennen, damit ich auch weniger bits ein zeichen zuordnen kann. Wie stelle ich das geschickt an, da es einen befehl wie "ReadBit" ja nicht gibt.

Ich hab mir erstmal überlegt, Texte zu verkleinen. Hierzu läuft das Programm über den zu komprmierenden Code und untersucht diesen auf die Häufigkeit der Zeichen. Danach erstelle ich einen Binärbaum, bei dem die häufigen Zeichen in geringerer Tiefe zu finden sind als die seltener vorkommenden.
Die information des Baumes wird zuerst in die komprimierte Datei geschrieben, danach kommt der zu verschlüsselnde Text. Hierbei wird immer oben bei der Wurzel begonnen und bei dem Bit "0" die kante nach links und bei dem Bit "1" die Kante nach rechts genommen. Gibt es keinen Folgeknoten mehr, so wird der Inhalt des Knotens an den Text angehängt.

Hoffe, das is verständlich. Hab den Allgorythmus noch nicht versucht und weiß daher nicht, wie effektiv er ist.
Kann ich also einzelne Bits aus einer Datei auslesen oder muss diese immer
aus ganzen Bytes bestehen? (kenn mich da nicht so aus)

Hoffe, das war kein Unsinn. Schonmal danke für eure Hilfe Smile

Eingeproggt

BeitragFr, Apr 06, 2007 16:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Bin mir nicht sicher, ob du das brauchen kannst, aber wie wärs mit ReadByte und im anschluss dazu Bin()?
Dann kommst du mit Mid an die einzelnen Bits.
Nachteil: Langamer gehts wohl nicht Confused
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

Holzchopf

Meisterpacker

BeitragFr, Apr 06, 2007 19:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hätte schwören können, dass ich die Funktionen schon mal gepostet hätte Confused aber weil du es bist Wink hol ich doch das glatt noch nach Rolling Eyes

https://www.blitzforum.de/foru...hp?t=23060

Kannst du nun entw. gebrauchen oder als Denkhilfe verwenden. ReadBit und co lassen sich mit Shl, Shr, And, Or, Xor oder was auch immer relativ leicht selber realisieren.

MfG
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

TheShadow

Moderator

BeitragSa, Apr 07, 2007 9:58
Antworten mit Zitat
Benutzer-Profile anzeigen
sieht sehr nach Huffman-Komprimierung aus:

http://www.stefan-baur.de/cs.a...style=2004


mit LZW ist Text noch besser komprimierbar
http://pagus.de/seminar/skript/bmpcomp.html
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2
 

Jey

BeitragMo, Apr 09, 2007 13:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Wunderbar Smile Danke für die Antworten. Der Link bringt mich wirklich weiter.. hätte nicht gedacht, dass es die Kodierung in genau der Form gibt und das hierbei meine Bitlese Probleme gelöst sind. Dank eurer Hilfe hab ich momentan zumindest mal keine fragen mehr Wink

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group