std.zlib
DEFLATE-Kompression als native Lyx-Implementierung gemäß RFC 1950 (zlib-Format) und RFC 1951 (DEFLATE-Algorithmus). LZ77-Sliding-Window (32 KB) für Rückwärts-Referenzen, statische Huffman-Kodierung, zlib-Header/Trailer mit Adler-32-Prüfsumme sowie CRC32. Kompressionsgrade 0–9 (0 = keine Kompression, 6 = Standard, 9 = beste Kompression). Dekompression mit ZlibDecompress/InflateDEFLATE.
Einsatzbereiche: HTTP Content-Encoding: gzip, Datei-Kompression, Datenbankblob-Speicherung (komprimierte JSON/XML), Netzwerkprotokoll-Kompression, Archivdateien.
Autor: Andreas Röne
Copyright: 2024-2025 Andreas Röne
Konstanten
| Name | Typ | Wert | Sichtbarkeit |
|---|---|---|---|
Z_NO_COMPRESSION | int64 | 0 | pub |
Z_BEST_SPEED | int64 | 1 | pub |
Z_DEFAULT_COMPRESSION | int64 | 6 | pub |
Z_BEST_COMPRESSION | int64 | 9 | pub |
DEFLATE_WINDOW_SIZE | int64 | 32768 | pub |
DEFLATE_WINDOW_MASK | int64 | 32767 | pub |
HASH_SIZE | int64 | 4096 | pub |
HASH_MASK | int64 | 4095 | pub |
MIN_MATCH | int64 | 3 | pub |
MAX_MATCH | int64 | 258 | pub |
MAX_DISTANCE | int64 | 32768 | pub |
Funktionen
| Signatur | Sichtbarkeit | Beschreibung |
|---|---|---|
BitWriteBit(output: pchar, pos: int64, bit: int64): int64 | pub | Einzelnes Bit in Ausgabepuffer schreiben |
BitWriteBits(output: pchar, pos: int64, value: int64, num_bits: int64): int64 | pub | Mehrere Bits in Ausgabepuffer schreiben |
BitFlush(output: pchar, pos: int64): int64 | pub | Verbleibende Bits in Puffer flushen |
BitWriteByte(output: pchar, pos: int64, byte: int64): int64 | pub | Einzelnes Byte in Ausgabepuffer schreiben |
Adler32(data: pchar, len: int64): int64 | pub | Adler-32-Prüfsumme berechnen |
Adler32Update(current: int64, data: pchar, len: int64): int64 | pub | Adler-32-Prüfsumme inkrementell aktualisieren |
CRC32(data: pchar, len: int64): int64 | pub | CRC-32-Prüfsumme berechnen |
LITLEN_EOF | pub | Konstante int64 mit dem Wert 256 — EOF-Symbol der Literal/Length-Codes |
GetFixedLiteralCode(code: int64): int64 | pub | Statischen Huffman-Code für Symbol liefern |
GetFixedDistCode(dist: int64): int64 | pub | Statischen Huffman-Code für Distanz liefern |
DeflateCompressLZ77(input: pchar, input_len: int64, output: pchar): int64 | pub | LZ77-Sliding-Window-Kompression durchführen |
DeflateCompress(input: pchar, input_len: int64, output: pchar): int64 | pub | DEFLATE-Kompression durchführen |
ZlibCompress(input: pchar, input_len: int64, output: pchar, level: int64): int64 | pub | Zlib-Kompression mit Kompressionsgrad |
ZlibCompressDefault(input: pchar, input_len: int64, output: pchar): int64 | pub | Zlib-Kompression mit Standardeinstellungen |
ZlibCompressBound(input_len: int64): int64 | pub | Maximale Ausgabegröße für Kompression schätzen |
InflateDEFLATE(input: pchar, input_len: int64, output: pchar): int64 | pub | DEFLATE-komprimierte Daten dekomprimieren |
ZlibDecompress(input: pchar, input_len: int64, output: pchar): int64 | pub | Zlib-Datenstrom dekomprimieren |
ZlibDecompressToBuffer(input: pchar, input_len: int64, output: pchar, max_out: int64): int64 | pub | Zlib-Datenstrom in begrenzten Puffer dekomprimieren |
