INFLATE$: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 13: Line 13:




==Availability==
{{PageAvailability}}
* '''Version 1.4 and up'''.
* '''Version 1.4 and up'''.



Revision as of 01:59, 28 January 2023

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.


Examples

Example 1: 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



Navigation:
Main Page with Articles and Tutorials
Keyword Reference - Alphabetical
Keyword Reference - By usage
Report a broken link