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
integer li_Offset
integer 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