C
C
Demonstrate Binary Data Encoding Methods
Demonstrates binary data encoding methods.Note: This example requires Chilkat v9.5.0.64 or later.
Chilkat C Downloads
#include <C_CkBinData.h>
#include <C_CkStringBuilder.h>
void ChilkatSample(void)
{
HCkBinData binData;
int offset;
int numBytes;
HCkStringBuilder sb;
binData = CkBinData_Create();
// Append 10 bytes: 00, 01, 02, 03, 04, 05, 06, 07, 08, 09
CkBinData_AppendEncoded(binData,"00010203040506070809","hex");
// Show that binData contains 10 bytes.
printf("num bytes = %d\n",CkBinData_getNumBytes(binData));
// Get as base64
printf("base64: %s\n",CkBinData_getEncoded(binData,"base64"));
// Get a chunk of the binary data.
// The 1st byte is at index 0.
// The output should be "02030405"
offset = 2;
numBytes = 4;
printf("chunk: %s\n",CkBinData_getEncodedChunk(binData,offset,numBytes,"hex"));
// Copy the bytes to a StringBuilder using the base64url encoding
sb = CkStringBuilder_Create();
CkBinData_GetEncodedSb(binData,"base64url",sb);
printf("base64url: %s\n",CkStringBuilder_getAsString(sb));
// Remove a chunk from the binary data
offset = 2;
numBytes = 4;
CkBinData_RemoveChunk(binData,offset,numBytes);
// The bytes remaining are 00,01,06,07,08,and 09
printf("after removing chunk: %s\n",CkBinData_getEncoded(binData,"hex"));
CkBinData_Dispose(binData);
CkStringBuilder_Dispose(sb);
}