DEFLATE$: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
No edit summary
(Add info on compression level)
Line 4: Line 4:


{{PageSyntax}}
{{PageSyntax}}
:{{Parameter|result$}} = [[_DEFLATE$]]({{Parameter|stringToCompress$}})
:{{Parameter|result$}} = [[_DEFLATE$]]({{Parameter|stringToCompress$}}[, {{Parameter|compressionLevel&}}])




{{PageDescription}}
{{PageDescription}}
* {{Parameter|result$}} will contain the compressed version of {{Parameter|stringToCompress$}}.
* {{Parameter|result$}} will contain the compressed version of {{Parameter|stringToCompress$}}.
* {{Parameter|compressionLevel&}} is an optional compression level, where 10 is the highest level and 0 is no compression.
* To decompress the resulting string, use [[_INFLATE$]].
* To decompress the resulting string, use [[_INFLATE$]].




{{PageAvailability}}
{{PageAvailability}}
* '''Version 1.4 and up'''.
<!-- QB64 = a version or none, QBPE = a version or all, Platforms = yes or no -->
<gallery widths="48px" heights="48px" mode="nolines">
File:Qb64.png|'''v1.4.0'''
File:Qbpe.png|'''all'''
File:Apix.png
File:Win.png|'''yes'''
File:Lnx.png|'''yes'''
File:Osx.png|'''yes'''
</gallery>
<!-- additional availability notes go below here -->
* Compression level support was added in '''QB64-PE v4.1.0'''.





Revision as of 23:32, 5 January 2025

The _DEFLATE$ function compresses a string.


Syntax

result$ = _DEFLATE$(stringToCompress$[, compressionLevel&])


Description

  • result$ will contain the compressed version of stringToCompress$.
  • compressionLevel& is an optional compression level, where 10 is the highest level and 0 is no compression.
  • To decompress the resulting string, use _INFLATE$.


Availability

  • Compression level support was added in QB64-PE v4.1.0.


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