Unicode C
Unicode C
Demonstrate Binary Data Encoding Methods
Demonstrates binary data encoding methods.Note: This example requires Chilkat v9.5.0.64 or later.
Chilkat Unicode C Downloads
#include <C_CkBinDataW.h>
#include <C_CkStringBuilderW.h>
void ChilkatSample(void)
{
HCkBinDataW binData;
int offset;
int numBytes;
HCkStringBuilderW sb;
binData = CkBinDataW_Create();
// Append 10 bytes: 00, 01, 02, 03, 04, 05, 06, 07, 08, 09
CkBinDataW_AppendEncoded(binData,L"00010203040506070809",L"hex");
// Show that binData contains 10 bytes.
wprintf(L"num bytes = %d\n",CkBinDataW_getNumBytes(binData));
// Get as base64
wprintf(L"base64: %s\n",CkBinDataW_getEncoded(binData,L"base64"));
// Get a chunk of the binary data.
// The 1st byte is at index 0.
// The output should be "02030405"
offset = 2;
numBytes = 4;
wprintf(L"chunk: %s\n",CkBinDataW_getEncodedChunk(binData,offset,numBytes,L"hex"));
// Copy the bytes to a StringBuilder using the base64url encoding
sb = CkStringBuilderW_Create();
CkBinDataW_GetEncodedSb(binData,L"base64url",sb);
wprintf(L"base64url: %s\n",CkStringBuilderW_getAsString(sb));
// Remove a chunk from the binary data
offset = 2;
numBytes = 4;
CkBinDataW_RemoveChunk(binData,offset,numBytes);
// The bytes remaining are 00,01,06,07,08,and 09
wprintf(L"after removing chunk: %s\n",CkBinDataW_getEncoded(binData,L"hex"));
CkBinDataW_Dispose(binData);
CkStringBuilderW_Dispose(sb);
}