Seite 1 von 1

Run Length

Verfasst: Montag 24. August 2009, 21:11
von cz3kit
Hallo, wir machen gerade den Run Length in der Schule. Für die, die nicht wissen was der Run Length ist, das ist ein Programm zum kodieren von Texten oder Bitmaps.

Mit den Texten ist das kein Problem nur jetzt kommts beim Bitmap. An einem Zeichen kommt er nie weiter und das wäre in Hexa 0x1A, hier hört er auf die Datei zu kodieren. Das 0x1A steht für substitute, ich kann mir aber überhaupt nicht vorstellen was das macht. Das Problem kommt dan immer, wenn ich es aus der Bitmap auslese und dan in die neue datei schreiben will.

Wäre sehr dankbar wenn jemand mir das sagen könnte.

MfG cz3kit

Verfasst: Montag 24. August 2009, 21:15
von EyDu

Code: Alles auswählen

sebastian@sepp:~$ cd /dev/glaskugel
bash: cd: /dev/glaskugel: No such file or directory
Ohne wenigstens einen Happen Code wird eine Fehleranalyse wirklich sehr schwierig ;-)

Verfasst: Montag 24. August 2009, 21:29
von cz3kit
Oke^^ dan mach ich mal eben ein Code rein sorry
http://paste.pocoo.org/show/136014/

das Problem ist ja wie gesagt, dass ich in der .bmp datei ein substitute habe, und dieser macht aus char = "" und ich weiß nicht was ich so rehct machen kann, damit dieser den dennoch in die nei Datei schreibt und joa weiter macht

Verfasst: Montag 24. August 2009, 21:57
von BlackJack
0x1A steht unter CP/M und damit unter DOS und damit unter Windows in *Textdateien* für das Ende des Textes. Die genannten Betriebssysteme hören da einfach auf zu lesen. Man sollte also Dateien mit Binärdaten auch immer im Binärmodus öffnen.

Verfasst: Dienstag 25. August 2009, 08:40
von cz3kit
Ahso oke, das macht Sinn. Müsste dann in der 2 Zeile stehen:

Code: Alles auswählen

bitmap = file("kirby.bmp", "rb")
???

Verfasst: Dienstag 25. August 2009, 08:47
von snafu
Normalerweise verwendet man open() statt file(). Und das spätere Abspeichern im Binärmodus nicht vergessen. ;)

Verfasst: Dienstag 25. August 2009, 08:55
von cz3kit
also heißt das die zwei Zeilen so aussehen würden

Code: Alles auswählen

bitmap = file("kirby.bmp", "rb")
bitmap2 = file("kirby2.txt", "wb")

richtig?

Verfasst: Dienstag 25. August 2009, 10:19
von EyDu
Nein. Noch "open" statt "file" und richtige Namen.

Verfasst: Dienstag 25. August 2009, 18:51
von jens
snafu hat geschrieben:Normalerweise verwendet man open() statt file().
Das ist IMHO reine Geschmackssache...

Verfasst: Dienstag 25. August 2009, 19:59
von BlackJack
@jens: Die Doku sagt `open()` ist zu bevorzugen. Es sind mittlerweile auch zwei unterschiedliche Objekte und nicht zwei Namen für ein und dasselbe Objekt.