Chilkat Examples

ChilkatHOMEAndroid™Classic ASPCC++C#Delphi ActiveXDelphi DLLVisual FoxProJavaMFCObjective-CPerlPHP ActiveXPHP ExtensionPowerShellPythonRubySQL ServerUnicode CUnicode C++Visual Basic 6.0VB.NETVBScript

Classic ASP Examples

Certificates
Email Object
Encryption
FTP
HTML-to-XML/Text
Gzip
HTTP
IMAP
MHT / HTML Email
POP3
RSA Encryption
MIME
SMTP
Socket/SSL/TLS
SSH Key
SSH
SFTP
Tar Archive
XML
XMP
Zip

More Examples...
Amazon S3
Bounced Email
CSV
Diffie-Hellman
NTLM

 

 

 

 

 

 

 

(ASP) Streaming Deflate String

Demonstrates streaming string compression using the Deflate algorithm. Data may be compressed in chunks by initially calling one of the BeginCompress* methods, followed by 0 or more calls to a MoreCompress* method, and terminating with a call to an EndCompress* method.

Likewise, data may be decompressed by calling a BeginDecompress* method, followed by 0 or more MoreDecompress* calls, and ending with an EndDecompress* method call.

This example demonstrates string-to-string deflate compression and decompression in chunks.

(The deflate algorithm is most commonly used by the .zip file format.)

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
set compress = Server.CreateObject("Chilkat.Compression")

'  Any string argument automatically begins a 30-day trial.
success = compress.UnlockComponent("30-day trial")
If (success <> 1) Then
    Response.Write "<pre>" & Server.HTMLEncode( compress.LastErrorText) & "</pre>"

End If

compress.Algorithm = "deflate"
compress.Charset = "ansi"
compress.EncodingMode = "base64"

'  Create a long string to compress.
strData = "abcdefg1122334455667788"
strData = strData & vbCrLf

'  Note: BeginCompressStringENC may return a zero-length
'  string.  This is normal if the input is buffered and no
'  compressed data is yet available.
'  However, a null reference indicates an error -- which is
'  generally only possible if the component was never unlocked.
strCompressed = compress.BeginCompressStringENC(strData)

'  Compress 100 more chunks of data.  Each call to
'  MoreCompressStringENC may or may not produce additional
'  compressed output.
For i = 0 To 99
    strData = "abcdefg1122334455667788"
    strData = strData & vbCrLf

    strCompressed = strCompressed & compress.MoreCompressStringENC(strData)
Next

'  Finalize the compression with a single call to EndCompressStringENC:
strCompressed = strCompressed & compress.EndCompressStringENC()

'  Display the compressed string.
'  The result will be:
'  S0xKTklNSzc0NDIyNjYxMTU1MzM3t7Dg5UoclRiVGJUYlRiVGJUYlRiVGJUYchIA

Response.Write "<pre>" & Server.HTMLEncode( strCompressed) & "</pre>"

'  Decompress back to the original in a single call.

strOriginal = compress.DecompressStringENC(strCompressed)

'  Display the uncompressed original:
Response.Write "<pre>" & Server.HTMLEncode( "--- Original ---") & "</pre>"
Response.Write "<pre>" & Server.HTMLEncode( strOriginal) & "</pre>"

'  Inflate in multiple calls.  It doesn't matter how the
'  compressed data is split -- it could be fed to the decompressor
'  one char at a time if desired.
chunk1 = "S0xKTklNSzc0ND"
chunk2 = "Iy"
chunk3 = "NjYxMTU1MzM3t7Dg5UoclRiV"
chunk4 = "GJUYlRiVGJUYlRiVGJUYchIA"

strOriginal = ""
strOriginal = compress.BeginDecompressStringENC(chunk1)
strOriginal = strOriginal & compress.MoreDecompressStringENC(chunk2)
strOriginal = strOriginal & compress.MoreDecompressStringENC(chunk3)
strOriginal = strOriginal & compress.MoreDecompressStringENC(chunk4)
strOriginal = strOriginal & compress.EndDecompressStringENC()

'  Display the uncompressed original after inflating in chunks:
Response.Write "<pre>" & Server.HTMLEncode( "--- Original after Inflating from Chunks ---") & "</pre>"
Response.Write "<pre>" & Server.HTMLEncode( strOriginal) & "</pre>"
%>
</body>
</html>

 

© 2000-2014 Chilkat Software, Inc. All Rights Reserved.