Sample code for 30+ languages & platforms
DataFlex

Demonstrate Binary Data Encoding Methods

Demonstrates binary data encoding methods.

Note: This example requires Chilkat v9.5.0.64 or later.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Handle hoBinData
    Boolean iSuccess
    Integer iOffset
    Integer iNumBytes
    Variant vSb
    Handle hoSb
    String sTemp1
    Integer iTemp1

    Get Create (RefClass(cComChilkatBinData)) To hoBinData
    If (Not(IsComObjectCreated(hoBinData))) Begin
        Send CreateComObject of hoBinData
    End

    // Append 10 bytes: 00, 01, 02, 03, 04, 05, 06, 07, 08, 09
    Get ComAppendEncoded Of hoBinData "00010203040506070809" "hex" To iSuccess

    // Show that binData contains 10 bytes.
    Get ComNumBytes Of hoBinData To iTemp1
    Showln "num bytes = " iTemp1

    // Get as base64
    Get ComGetEncoded Of hoBinData "base64" To sTemp1
    Showln "base64: " sTemp1

    // Get a chunk of the binary data.
    // The 1st byte is at index 0.
    // The output should be "02030405"
    Move 2 To iOffset
    Move 4 To iNumBytes
    Get ComGetEncodedChunk Of hoBinData iOffset iNumBytes "hex" To sTemp1
    Showln "chunk: " sTemp1

    // Copy the bytes to a StringBuilder using the base64url encoding
    Get Create (RefClass(cComChilkatStringBuilder)) To hoSb
    If (Not(IsComObjectCreated(hoSb))) Begin
        Send CreateComObject of hoSb
    End
    Get pvComObject of hoSb to vSb
    Get ComGetEncodedSb Of hoBinData "base64url" vSb To iSuccess
    Get ComGetAsString Of hoSb To sTemp1
    Showln "base64url: " sTemp1

    // Remove a chunk from the binary data
    Move 2 To iOffset
    Move 4 To iNumBytes
    Get ComRemoveChunk Of hoBinData iOffset iNumBytes To iSuccess
    // The bytes remaining are 00,01,06,07,08,and 09
    Get ComGetEncoded Of hoBinData "hex" To sTemp1
    Showln "after removing chunk: " sTemp1


End_Procedure