DataFlex
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
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