Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(MFC) Gzip Compress In Memory and Base64 EncodeDemonstrates how to Gzip compress in-memory data and then encode the compressed data to base64.
#include <CkGzip.h> #include <CkBinData.h> void ChilkatSample(void) { CkString strOut; // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkGzip gzip; // This example will load a file into the fileData object. // Your application might load fileData from other sources.. CkBinData fileData; bool success = fileData.LoadFile("qa_data/xml/hamlet.xml"); if (success != true) { strOut.append("Failed to load file."); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } // In-place compress the contents of fileData success = gzip.CompressBd(fileData); if (success != true) { strOut.append(gzip.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } // Get the base64 encoded compressed data (in a single line). const char *strBase64 = fileData.getEncoded("base64"); strOut.append(strBase64); strOut.append("\r\n"); strOut.append("--------"); strOut.append("\r\n"); // To get the base64 in multiple lines, as it might appear in MIME, // use "base64-mime". const char *strBase64MultiLine = fileData.getEncoded("base64-mime"); strOut.append(strBase64MultiLine); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); } |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.