Datei als Bytes lesen?

Kommt drauf an was PHP damit machen soll. In einen Text wandeln?

PHP soll die Bytes verkleinern, also aus "01" wird dann "1", möchte nämlich Daten die auf längere Sicht nicht gebraucht werden verkleinern und in einer eigenen Datei ".mo" speichern und bei Bedarf werden die zurückgerechnet.

Dadurch spare ich Speicherplatz und die Daten haben einen zusätzlichen Schutz, weil diese ja erst zurückgerechnet werden müssen.

Moritz
 
Sorry, da ist mein Byte-Latein am Ende
Dann bleibt ja nur noch 11111111 aus 0110110100111. Und da ist mMn nicht dasselbe.

Nun gut, du weisst das wahrscheinlich besser, wie gesagt, mit Bytes schlage ich mich eigentlich nicht herum.
 
Hm. :suspekt:
Liegt nicht an dir, Yaslaw.

@moritz: Mit dem, was du vorhast, zerstörst du den Dateiinhalt.
Nicht mehr und nicht weniger.

Wenn du Speicherplatz sparen willst, schau dir Kompressionszeug wie Zip usw. an.
Oder, zum Selbstmachen: Huffman, LZW usw.usw
 
Verstehe ich nicht, wenn ich aus 12 4 mache und später wieder mit 3 multipliziere ist es doch wieder 12, oder nicht?
So gesehen ja, aber du müsstest auch noch mitspeichern, womit du dividiert hast.
Pro Byte. Damit ist gar nichts gespart, sondern das Gegenteil.

Wenn man eine einzige Zahl zum Dividieren für alle Byte nimmt wird es zwar Ersparnis,
aber es gehen Teile der Werte verloren.
12/4=3, 3*4=12 ->Gut
13/4=3, 3*4=12 ->Problem
Bitweise verlierst du die zwei niederwertigsten Bit, weil 4 ja 2^2 ist

Du müsstest also pro Byte ermitteln, wie weit du verkürzen/dividieren kannst,
ohne Binär-Einser zu verlieren. Und das muss eben auch pro Byte mitgespeichert werden,

Hast du einen Link für diese beiden Methoden?
:google: Wikipedia
Die Huffmankodierung ist ein relativ einfaches Verfahren,
eines der komplizierteren wäre Lempel-Ziv-Welch,
und noch viele andere...
 
Zurück