Deflate (String function): Difference between revisions
Jump to navigation
Jump to search
m (→Syntax terms) |
mNo edit summary |
||
Line 1: | Line 1: | ||
{{Template:String:Deflate subtitle}} | {{Template:String:Deflate subtitle}} | ||
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. | 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== | ==Syntax== | ||
{{Template:String:Deflate syntax}} | {{Template:String:Deflate syntax}} | ||
===Syntax terms=== | ===Syntax terms=== | ||
<table class="syntaxTable"> | <table class="syntaxTable"> | ||
Line 27: | Line 25: | ||
This argument is optional; its default value is 0. If specified, it must be between 0 and 99, inclusive.</td></tr> | This argument is optional; its default value is 0. If specified, it must be between 0 and 99, inclusive.</td></tr> | ||
</table> | </table> | ||
==Usage notes== | ==Usage notes== | ||
<ul> | <ul> | ||
Line 36: | Line 35: | ||
<li>Short strings (less than 128 bytes) typically compress better with <code>fixedCode=true</code>. | <li>Short strings (less than 128 bytes) typically compress better with <code>fixedCode=true</code>. | ||
</ul> | </ul> | ||
==Examples== | ==Examples== | ||
In the following example, %LSTRC is set to the compressed version of the given string: | In the following example, %LSTRC is set to the compressed version of the given string: | ||
<p class="code">%out = 'How much wood could a woodchuck chuck':deflate(fixedCode=true) | <p class="code">%out = 'How much wood could a woodchuck chuck':deflate(fixedCode=true) | ||
</p> | </p> | ||
==See also== | ==See also== | ||
<ul> | <ul> | ||
<li><var>[[Inflate (String function)|Inflate]]</var> is used to decompress the string to its original value. | <li><var>[[Inflate (String function)|Inflate]]</var> is used to decompress the string to its original value. | ||
<li>[[??]] | <li>Other related methods: [[??]] | ||
</ul> | </ul> | ||
{{Template:String:Deflate footer}} | {{Template:String:Deflate footer}} |
Revision as of 21:58, 31 July 2012
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, Boolean 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.
false (use dynamic compression). |
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.
This argument is optional; its default value 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. This argument is optional; its default value 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, %LSTRC is set to the compressed version of the given string:
%out = 'How much wood could a woodchuck chuck':deflate(fixedCode=true)