Sample code for 30+ languages & platforms
PowerBuilder

Demonstrate Binary Data Encoding Methods

Demonstrates binary data encoding methods.

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

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
oleobject loo_BinData
long li_Offset
long li_NumBytes
oleobject loo_Sb

loo_BinData = create oleobject
li_rc = loo_BinData.ConnectToNewObject("Chilkat.BinData")
if li_rc < 0 then
    destroy loo_BinData
    MessageBox("Error","Connecting to COM object failed")
    return
end if

//  Append 10 bytes: 00, 01, 02, 03, 04, 05, 06, 07, 08, 09
loo_BinData.AppendEncoded("00010203040506070809","hex")

//  Show that binData contains 10 bytes.
Write-Debug "num bytes = " + string(loo_BinData.NumBytes)

//  Get as base64
Write-Debug "base64: " + loo_BinData.GetEncoded("base64")

//  Get a chunk of the binary data.
//  The 1st byte is at index 0.
//  The output should be "02030405"
li_Offset = 2
li_NumBytes = 4
Write-Debug "chunk: " + loo_BinData.GetEncodedChunk(li_Offset,li_NumBytes,"hex")

//  Copy the bytes to a StringBuilder using the base64url encoding
loo_Sb = create oleobject
li_rc = loo_Sb.ConnectToNewObject("Chilkat.StringBuilder")

loo_BinData.GetEncodedSb("base64url",loo_Sb)
Write-Debug "base64url: " + loo_Sb.GetAsString()

//  Remove a chunk from the binary data
li_Offset = 2
li_NumBytes = 4
loo_BinData.RemoveChunk(li_Offset,li_NumBytes)
//  The bytes remaining are 00,01,06,07,08,and 09
Write-Debug "after removing chunk: " + loo_BinData.GetEncoded("hex")


destroy loo_BinData
destroy loo_Sb