DEFLATE$: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
Line 19: Line 19:
''Example 1:'' Compressing a long string of text.
''Example 1:'' Compressing a long string of text.
{{CodeStart}}
{{CodeStart}}
a$ = "The quick brown fox jumps over the lazy dog. "
a$ = {{Text|<nowiki>"The quick brown fox jumps over the lazy dog. "</nowiki>|#FFB100}}
{{Cl|PRINT}} "Original string (a$): "; a$
{{Cl|PRINT}} {{Text|<nowiki>"Original string (a$): "</nowiki>|#FFB100}}; a$
{{Cl|FOR}} i = 1 {{Cl|TO}} 15
{{Cl|FOR}} i = {{Text|1|#F580B1}} {{Cl|TO}} {{Text|15|#F580B1}}
     a$ = a$ + a$
     a$ = a$ + a$
{{Cl|NEXT}}
{{Cl|NEXT}}


{{Cl|PRINT}} "After concatenating it into itself several times, LEN(a$) ="; {{Cl|LEN}}(a$)
{{Cl|PRINT}} {{Text|<nowiki>"After concatenating it into itself several times, LEN(a$) ="</nowiki>|#FFB100}}; {{Cl|LEN}}(a$)


b$ = {{Cl|_DEFLATE$}}(a$)
b$ = {{Cl|_DEFLATE$}}(a$)
{{Cl|PRINT}} "After using _DEFLATE$ to compress it, LEN ="; {{Cl|LEN}}(b$)
{{Cl|PRINT}} {{Text|<nowiki>"After using _DEFLATE$ to compress it, LEN ="</nowiki>|#FFB100}}; {{Cl|LEN}}(b$)
{{Cl|PRINT USING}} "(compressed size is #.###% of the original)"; (({{Cl|LEN}}(b$) * 100) / {{Cl|LEN}}(a$))
{{Cl|PRINT USING}} {{Text|<nowiki>"(compressed size is #.###% of the original)"</nowiki>|#FFB100}}; (({{Cl|LEN}}(b$) * {{Text|100|#F580B1}}) / {{Cl|LEN}}(a$))
c$ = {{Cl|_INFLATE$}}(b$)
c$ = {{Cl|_INFLATE$}}(b$)
PRINT "After using _INFLATE$ to decompress it, LEN ="; {{Cl|LEN}}(c$)
{{Cl|PRINT}} {{Text|<nowiki>"After using _INFLATE$ to decompress it, LEN ="</nowiki>|#FFB100}}; {{Cl|LEN}}(c$)
{{CodeEnd}}
{{CodeEnd}}
{{OutputStart}}
{{OutputStart}}
Original string (a$): The quick brown fox jumps over the lazy dog
Original string (a$): The quick brown fox jumps over the lazy dog

Latest revision as of 19:32, 23 March 2023

The _DEFLATE$ function compresses a string.


Syntax

result$ = _DEFLATE$(stringToCompress$)


Description

  • result$ will contain the compressed version of stringToCompress$.
  • To decompress the resulting string, use _INFLATE$.


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