Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(DataFlex) Compress and Decompress Base64Imagine we have data represented as a base64 string. This example demonstrates how to decode, compress, and re-encode to smaller base64 representing the compressed data. Note: This example requires Chilkat v9.5.0.66 or greater.
Use ChilkatAx-win32.pkg Procedure Test Boolean iSuccess String sStrBase64 Handle hoCompress Variant vBinDat Handle hoBinDat String sCompressedBase64 String sDecompressedBase64 // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Move "VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuDQpUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4NClRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLg0KVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuDQpUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4NCg0K" To sStrBase64 Get Create (RefClass(cComChilkatCompression)) To hoCompress If (Not(IsComObjectCreated(hoCompress))) Begin Send CreateComObject of hoCompress End Set ComAlgorithm Of hoCompress To "deflate" Get Create (RefClass(cComChilkatBinData)) To hoBinDat If (Not(IsComObjectCreated(hoBinDat))) Begin Send CreateComObject of hoBinDat End // Load the base64 data into a BinData object. // This decodes the base64. The decoded bytes will be contained in the BinData. Get ComAppendEncoded Of hoBinDat sStrBase64 "base64" To iSuccess // Compress the BinData. Get pvComObject of hoBinDat to vBinDat Get ComCompressBd Of hoCompress vBinDat To iSuccess // Get the compressed data in base64 format: Get ComGetEncoded Of hoBinDat "base64" To sCompressedBase64 Showln "compressed base64:" Showln sCompressedBase64 // The compressed base64 is: C8lIVSgszUzOVkgqyi/PU0jLr1DIKs0tSE1RyC9LLVIoAcrnJFZVKqTkp+vxcoUMYeW8XAA= // Now decompress: Get ComClear Of hoBinDat To iSuccess Get ComAppendEncoded Of hoBinDat sCompressedBase64 "base64" To iSuccess Get pvComObject of hoBinDat to vBinDat Get ComDecompressBd Of hoCompress vBinDat To iSuccess Get ComGetEncoded Of hoBinDat "base64" To sDecompressedBase64 Showln "decompressed base64:" Showln sDecompressedBase64 // The output is the original data: // VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuDQpUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4NClRoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgdGhlIGxhenkgZG9nLg0KVGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuDQpUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBlZCBvdmVyIHRoZSBsYXp5IGRvZy4NCg0K End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.