Sample code for 30+ languages & platforms
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

C
#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);

    }