_INFLATE$ - QB64Official/qb64 GitHub Wiki

The _INFLATE$ function decompresses a STRING compressed by the _DEFLATE$ function.

Syntax

result$ = _INFLATE$(stringToDecompress$[, originalSize&])

Description

  • result$ will contain the original version of stringToDecompress$.
  • Optional parameter originalSize& can be used if the original size of the uncompressed data is known beforehand, which makes the decompression routine run more efficiently.
    • If unspecified, decompression still works as expected, but may use more steps and need to allocate more memory internally.

Availability

  • Version 1.4 and up.

Example(s)

Compressing a long string of text.


a$ = "The quick brown fox jumps over the lazy dog. "
PRINT "Original string (a$): "; a$
FOR i = 1 TO 15
    a$ = a$ + a$
NEXT
 
PRINT "After concatenating it into itself several times, LEN(a$) ="; LEN(a$)
 
b$ = _DEFLATE$(a$)
PRINT "After using _DEFLATE$ to compress it, LEN ="; LEN(b$)
PRINT USING "(compressed size is #.###% of the original)"; ((LEN(b$) * 100) / LEN(a$))
c$ = _INFLATE$(b$)
PRINT "After using _INFLATE$ to decompress it, LEN ="; LEN(c$)
 


Original string (a$): The quick brown fox jumps over the lazy dog
After concatenating it into itself several times, LEN(a$) = 1474560
After using _DEFLATE$ to compress it, LEN = 4335
(compressed size is 0.295% of the original)
After using _INFLATE$ to decompress it, LEN = 1474560

See Also