PureBasic
PureBasic
Append Big-Endian or Little-Endian Integers
Demonstrates how to append integers in big-endian or little-endian byte order to a BinData.Note: This example requires Chilkat v9.5.0.77 or greater.
Chilkat PureBasic Downloads
IncludeFile "CkBinData.pb"
Procedure ChilkatExample()
success.i = 0
bd.i = CkBinData::ckCreate()
If bd.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; The hex value of decimal 123456789 is 0x075BCD15
x.i = 123456789
; Appending little-endian causes bytes to be
; appended in the order 0x15, 0xCD, 0x5B, 0x07
littleEndian.i = 1
success = CkBinData::ckAppendInt4(bd,x,littleEndian)
Debug CkBinData::ckGetEncoded(bd,"hex")
; Output is: 15CD5B07
; Now append the same integer in big-endian byte order.
; Appending bit-endian causes bytes to be
; appended in the order 0x07, 0x5B, 0xCD, 0x15
littleEndian = 0
CkBinData::ckAppendInt4(bd,x,littleEndian)
Debug CkBinData::ckGetEncoded(bd,"hex")
; bd now contains: 15CD5B07075BCD15
; -------------------------------------------
; Now do the same thing with 16-bit integers
CkBinData::ckClear(bd)
; 1234 decimal = 0x04D2 hex.
x = 1234
littleEndian = 1
CkBinData::ckAppendInt2(bd,x,littleEndian)
Debug CkBinData::ckGetEncoded(bd,"hex")
; Output is: D204
littleEndian = 0
CkBinData::ckAppendInt2(bd,x,littleEndian)
Debug CkBinData::ckGetEncoded(bd,"hex")
; Output is now: D20404D2
CkBinData::ckDispose(bd)
ProcedureReturn
EndProcedure