mirror of
https://github.com/QB64Official/qb64.git
synced 2024-08-22 04:25:08 +00:00
48 lines
1.7 KiB
Text
48 lines
1.7 KiB
Text
{{DISPLAYTITLE:_INFLATE$}}
|
|
The [[_INFLATE$]] function decompresses a [[STRING|string]] compressed by the [[_DEFLATE$]] function.
|
|
|
|
|
|
{{PageSyntax}}
|
|
:{{Parameter|result$}} = [[_INFLATE$]]({{Parameter|stringToDecompress$[, originalSize&]}})
|
|
|
|
|
|
{{PageDescription}}
|
|
* {{Parameter|result$}} will contain the original version of {{Parameter|stringToDecompress$}}.
|
|
* Optional parameter {{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.
|
|
|
|
|
|
{{PageAvailability}}
|
|
* Version 1.4 and up.
|
|
|
|
|
|
{{PageExamples}}
|
|
''Example 1:'' Compressing a long string of text.
|
|
{{CodeStart}}
|
|
a$ = "The quick brown fox jumps over the lazy dog. "
|
|
{{Cl|PRINT}} "Original string (a$): "; a$
|
|
{{Cl|FOR}} i = 1 {{Cl|TO}} 15
|
|
a$ = a$ + a$
|
|
{{Cl|NEXT}}
|
|
|
|
{{Cl|PRINT}} "After concatenating it into itself several times, LEN(a$) ="; {{Cl|LEN}}(a$)
|
|
|
|
b$ = {{Cl|_DEFLATE$}}(a$)
|
|
{{Cl|PRINT}} "After using _DEFLATE$ to compress it, LEN ="; {{Cl|LEN}}(b$)
|
|
{{Cl|PRINT USING}} "(compressed size is #.###% of the original)"; (({{Cl|LEN}}(b$) * 100) / {{Cl|LEN}}(a$))
|
|
c$ = {{Cl|_INFLATE$}}(b$)
|
|
PRINT "After using _INFLATE$ to decompress it, LEN ="; {{Cl|LEN}}(c$)
|
|
{{CodeEnd}}
|
|
{{OutputStart}}
|
|
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
|
|
{{OutputEnd}}
|
|
|
|
{{PageSeeAlso}}
|
|
* [[_DEFLATE$]]
|
|
|
|
|
|
{{PageNavigation}}
|