Datei einlesen->komplett umdrehen
-
Hallo, wie kann ich denn eine Datei einlesen, und deren Bitfolge umdrehen; So soll das funktionieren:
0x00: 1000 0000
0x01: 0100 0000wird zu
0x00: 0000 0010
0x01: 0000 0001Wäre nett, wenn mir jemand sagen könnte, wie ich in C++ am besten eine eingelesene Datei in einem Bit-Array speichere, bzw. wie ich einzelne Bits einlesen kann. Plan ist es, die Datei in ein Bit-Array zu schreiben, und dieses rückwärts zurück in eine neue Datei zu schreiben.
-
Ich vermute mal du meinst den huffman algorithmus.
guck mal unter:
http://datacompression.info/Huffman.shtml
http://www.iti.fh-flensburg.de/lang/algorithmen/
http://de.wikipedia.org
http://www.cs.auckland.ac.nz/software/AlgAnim/index.htmloder einfach bei google huffman.c als suchbegriff eingeben.
PS:
achte aber immer darauf, was du mit dem algorithmus vor hast. es gibt verschiedene implementationen.
-
Ich hab mir jetzt ne eigene Methode gebastelt, aber da gibts ein Problem. Ich brauche unbedingt unsigned char für die bytes, sonst wird meine Ausgabe verfälscht. Wie bekomm ich das hin?
-
also ich meine ifstream read()
-
bits%bytes schrieb:
Ich hab mir jetzt ne eigene Methode gebastelt, aber da gibts ein Problem. Ich brauche unbedingt unsigned char für die bytes, sonst wird meine Ausgabe verfälscht. Wie bekomm ich das hin?
Casten.
unsigned char buffer[1024]; fin.read(reinterpret_cast<char*>(buffer), sizeof(buffer));Kurt