Deflate (String function)
Compress a longstring with deflate (String class)
[Introduced in Sirius Mods 7.4]
This function compresses a longstring using the "deflate" algorithm. The deflate algorithm is described completely in RFC 1951. It is very effective with HTML and XML data.
Syntax
%outString = string:Deflate[( [FixedCode= boolean], [LazyMatch= boolean], - [MaxChain= number])]
Syntax terms
%outString | The resulting compressed string. |
---|---|
string | The string to be compressed. |
FixedCode | FixedCode is an optional, name required, parameter that is a Boolean value that specifies whether the compression uses fixed codes or is dynamic, based on the contents of the input string.
|
LazyMatch | LazyMatch is an optional, name required, parameter that is a Boolean value that specifies whether to use "lazy match" compression, as specified in RFC 1951. The default value for this argument is False (do not use "lazy match" compression). |
MaxChain | MaxChain is an optional, name required, parameter that is a numeric value that specifies the maximum hash chain length, as explained in RFC 1951. The default value for this argument is 0. If specified, it must be between 0 and 99, inclusive. |
Usage notes
- The NCMPBUF parameter must be set to a non-0 value during Model 204initialization to allow use of the Deflate function; otherise, invoking Deflate causes request cancellation.
- As with any compression scheme, it is possible that a particular string will become longer after compression. This would happen, for example, if a deflated string were passed to Deflate.
- Short strings (less than 128 bytes) typically compress better with
fixedCode=true
.
Examples
In the following example, %out
is set to the compressed version of the given string:
%out = 'How much wood could a woodchuck chuck':deflate(fixedCode=true)
See also