DEFLATE$: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 12: Line 12:




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


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