Sample code for 30+ languages & platforms
Delphi ActiveX

Demonstrate Binary Data Encoding Methods

Demonstrates binary data encoding methods.

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

Chilkat Delphi ActiveX Downloads

Delphi ActiveX
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB;

...

procedure TForm1.Button1Click(Sender: TObject);
var
binData: TChilkatBinData;
offset: Integer;
numBytes: Integer;
sb: TChilkatStringBuilder;

begin
binData := TChilkatBinData.Create(Self);

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

// Show that binData contains 10 bytes.
Memo1.Lines.Add('num bytes = ' + IntToStr(binData.NumBytes));

// Get as base64
Memo1.Lines.Add('base64: ' + binData.GetEncoded('base64'));

// Get a chunk of the binary data.
// The 1st byte is at index 0.
// The output should be "02030405"
offset := 2;
numBytes := 4;
Memo1.Lines.Add('chunk: ' + binData.GetEncodedChunk(offset,numBytes,'hex'));

// Copy the bytes to a StringBuilder using the base64url encoding
sb := TChilkatStringBuilder.Create(Self);
binData.GetEncodedSb('base64url',sb.ControlInterface);
Memo1.Lines.Add('base64url: ' + sb.GetAsString());

// Remove a chunk from the binary data
offset := 2;
numBytes := 4;
binData.RemoveChunk(offset,numBytes);
// The bytes remaining are 00,01,06,07,08,and 09
Memo1.Lines.Add('after removing chunk: ' + binData.GetEncoded('hex'));
end;