PureBasic
PureBasic
Demonstrate Binary Data Encoding Methods
Demonstrates binary data encoding methods.Note: This example requires Chilkat v9.5.0.64 or later.
Chilkat PureBasic Downloads
IncludeFile "CkBinData.pb"
IncludeFile "CkStringBuilder.pb"
Procedure ChilkatExample()
binData.i = CkBinData::ckCreate()
If binData.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; Append 10 bytes: 00, 01, 02, 03, 04, 05, 06, 07, 08, 09
CkBinData::ckAppendEncoded(binData,"00010203040506070809","hex")
; Show that binData contains 10 bytes.
Debug "num bytes = " + Str(CkBinData::ckNumBytes(binData))
; Get as base64
Debug "base64: " + CkBinData::ckGetEncoded(binData,"base64")
; Get a chunk of the binary data.
; The 1st byte is at index 0.
; The output should be "02030405"
offset.i = 2
numBytes.i = 4
Debug "chunk: " + CkBinData::ckGetEncodedChunk(binData,offset,numBytes,"hex")
; Copy the bytes to a StringBuilder using the base64url encoding
sb.i = CkStringBuilder::ckCreate()
If sb.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkBinData::ckGetEncodedSb(binData,"base64url",sb)
Debug "base64url: " + CkStringBuilder::ckGetAsString(sb)
; Remove a chunk from the binary data
offset = 2
numBytes = 4
CkBinData::ckRemoveChunk(binData,offset,numBytes)
; The bytes remaining are 00,01,06,07,08,and 09
Debug "after removing chunk: " + CkBinData::ckGetEncoded(binData,"hex")
CkBinData::ckDispose(binData)
CkStringBuilder::ckDispose(sb)
ProcedureReturn
EndProcedure