Compress - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


StringTools

  

Compress

  

compress a string or byte sequence

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

Compress(S)

Compress(S, n)

Compress(S, output=f)

Parameters

S

-

string, Array(datatype=integer[1]), or list(integer)

n

-

(optional) positive integer number of bytes

f

-

(optional) output format, either rtable or list

Description

• 

The Compress(S) command takes the given string, byte list, or integer[1] array and compresses it into a lossless, more compact format.

• 

By default the return value is an Array with datatype=integer[1].  The values in the array range from -128 to 127 as integer[1] is a signed integer format.  

• 

When output=list is specified the return value is a list of integers in the range 0 to 256.  

• 

Both the array output format and the list output format are suitable for use with readbytes and writebytes.

• 

The optional value n indicates that only the first n bytes should be compressed.  If n is unspecified, or if n <= 0 or if n exceeds the actual number of bytes, then all of S is compressed.

• 

The compression algorithm is taken from the zlib library written by Jean-loup Gailly and Mark Adler.  See http://zlib.net

Examples

Compress a string and retrieve it.

withStringTools&colon;

rCompresshello world

r120−100−5372−51−55−558740−4947−5473970030104493

(1)

Uncompressr&comma;output=string

hello world

(2)

rCompresshello world

r120−100−5372−51−55−558740−4947−5473970030104493

(3)

Uncompressr&comma;output=string

hello world

(4)

Compress the Thue-Morse word on 10^7 (ten million) letters by 99%.

tmThueMorse107&colon;

compressedCompresstm

1.numelemscompressedlengthtm

0.9907413000

(5)

See Also

copyright

readbytes

rtable

StringTools

Uncompress

writebytes