Satz-Bit

PackBits ist ein schnelles, einfaches lossless Kompressionsschema für die Verschlüsselung der Lauf-Länge von Daten.

Apfel hat das Format von PackBits mit der Ausgabe von MacPaint auf dem Computer von Macintosh eingeführt. Dieses Kompressionsschema ist einer der Typen der Kompression, die in ZANK-DATEIEN verwendet werden kann. TGA-Dateien verwenden auch dieses RLE Kompressionsschema, aber Vergnügen-Datenstrom als Pixel statt Bytes.

Ein Datenstrom von PackBits besteht aus Paketen mit einem von Daten gefolgten Ein-Byte-Kopfball. Der Kopfball ist ein unterzeichnetes Byte; die Daten können unterzeichnet, nicht unterzeichnet werden, oder (wie Pixel) gepackt.

Im folgenden Tisch ist n der Wert des Kopfball-Bytes als eine unterzeichnete ganze Zahl.

Bemerken Sie, dass die Interpretation 0 als positiv oder negativ keinen Unterschied in der Produktion macht. Läufe von zwei Bytes neben Nichtläufen werden normalerweise als wörtliche Daten geschrieben. Es sollte auch bemerkt werden, dass es keinen auf den Daten von PackBits gestützten Weg gibt, um das Ende des Datenstroms zu bestimmen; das heißt, muss man bereits die Größe der komprimierten oder unkomprimierten Daten vor dem Lesen eines Datenstroms von PackBits wissen zu wissen, wo es endet.

Apple Computer (sieh die Außenverbindung), stellt dieses kurze Beispiel von gepackten Daten zur Verfügung:

Der folgende Code, der in Microsoft VBA geschrieben ist, packt die Daten aus:

U-Boot UnpackBitsDemo

Dunkle Datei als Variante

Verdunkeln Sie MyOutput als Schnur

Verdunkeln Sie Graf As Long

Dunkel ich So Lange, j Wie Langer

Datei = "FE AA 02 80 00 2A FD AA 03 80 00 2A 22 F7 AA"

Datei = Spalt (Datei, "")

Weil ich = LBound (Datei) Zu UBound (Datei)

Graf = Anwendung. WorksheetFunction. Hex2Dec (Datei (i))

Wählen Sie Fall Graf aus

Fall Ist> = 128

Graf = 256 - zählt 'die Ergänzung von Two auf

Für j = 0, um 'bei Nullpunkteinstellung aufzuzählen

MyOutput = MyOutput & File (ich + 1) & ""

Folgender j

i = ich + 1 'Passe den Zeigestock an

Fall sonst

Für j = 0, um 'bei Nullpunkteinstellung aufzuzählen

MyOutput = MyOutput & File (ich + j + 1) & ""

Folgender j

i = ich + j 'Passe den Zeigestock an

Ende ausgesuchter

Als nächstes ich

Fehlersuchprogramm. Drucken Sie MyOutput

'AA AA AA 80 00 2A AA AA AA AA 80 00 2A 22 AA AA AA AA AA AA AA AA AA AA'

EndU-Boot

</Quelle>

Links


Piña colada / Bar-Felsen (Australien)
Impressum & Datenschutz