DEFLATE$: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
(Add info on compression level)
No edit summary
 
(One intermediate revision by one other user not shown)
Line 9: Line 9:
{{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.
* {{Parameter|compressionLevel&}} is an optional compression level (0 - 10), 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$]].


Line 16: Line 16:
<!-- QB64 = a version or none, QBPE = a version or all, Platforms = yes or no -->
<!-- QB64 = a version or none, QBPE = a version or all, Platforms = yes or no -->
<gallery widths="48px" heights="48px" mode="nolines">
<gallery widths="48px" heights="48px" mode="nolines">
File:Qb64.png|'''v1.4.0'''
File:Qb64.png|'''v1.4'''
File:Qbpe.png|'''all'''
File:Qbpe.png|'''all'''
File:Apix.png
File:Apix.png

Latest revision as of 00:27, 6 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 (0 - 10), 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