PureBasic
PureBasic
Gzip Compress In Memory and Base64 Encode
See more Gzip Examples
Demonstrates how to Gzip compress in-memory data and then encode the compressed data to base64.Chilkat PureBasic Downloads
IncludeFile "CkGzip.pb"
IncludeFile "CkBinData.pb"
Procedure ChilkatExample()
success.i = 0
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
gzip.i = CkGzip::ckCreate()
If gzip.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; This example will load a file into the fileData object.
; Your application might load fileData from other sources..
fileData.i = CkBinData::ckCreate()
If fileData.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkBinData::ckLoadFile(fileData,"qa_data/xml/hamlet.xml")
If success <> 1
Debug "Failed to load file."
CkGzip::ckDispose(gzip)
CkBinData::ckDispose(fileData)
ProcedureReturn
EndIf
; In-place compress the contents of fileData
success = CkGzip::ckCompressBd(gzip,fileData)
If success <> 1
Debug CkGzip::ckLastErrorText(gzip)
CkGzip::ckDispose(gzip)
CkBinData::ckDispose(fileData)
ProcedureReturn
EndIf
; Get the base64 encoded compressed data (in a single line).
strBase64.s = CkBinData::ckGetEncoded(fileData,"base64")
Debug strBase64
Debug "--------"
; To get the base64 in multiple lines, as it might appear in MIME,
; use "base64-mime".
strBase64MultiLine.s = CkBinData::ckGetEncoded(fileData,"base64-mime")
Debug strBase64MultiLine
CkGzip::ckDispose(gzip)
CkBinData::ckDispose(fileData)
ProcedureReturn
EndProcedure