Delphi ActiveX
Delphi ActiveX
Ascii85 Encoding and Decoding
See more Encryption Examples
Demonstrates ascii85 encoding and decoding.Note: Requires Chilkat v9.5.0.79 or greater.
Chilkat Delphi ActiveX Downloads
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
success: Integer;
sb: TChilkatStringBuilder;
encodedAscii85: WideString;
bd: TChilkatBinData;
begin
success := 0;
// First demonstrate encoding strings to ascii85 and back.
sb := TChilkatStringBuilder.Create(Self);
success := sb.Append('Man is distinguished, not only by his reason, but by this singular passion from other animals, which is a lust of the mind, that by a perseverance of delight in the continued and indefatigable generation of knowledge, exceeds the short vehemence of any carnal pleasure.');
encodedAscii85 := sb.GetEncoded('ascii85','utf-8');
Memo1.Lines.Add(encodedAscii85);
// Result is: 9jqo^BlbD-BleB1DJ+*+F(f,q/0JhKF<GL>Cj@.4 ... DII?(E,9)oF*2M7/c
// Decode back to the original:
sb.Clear();
sb.Append(encodedAscii85);
success := sb.Decode('ascii85','utf-8');
Memo1.Lines.Add('Original:');
Memo1.Lines.Add(sb.GetAsString());
// ---- Now encode binary data to ascii85 ----
bd := TChilkatBinData.Create(Self);
success := bd.LoadFile('qa_data/jpg/starfish20.jpg');
encodedAscii85 := bd.GetEncoded('ascii85');
Memo1.Lines.Add(encodedAscii85);
// Result is: s4IA0!"_al8O`[\!<E0k!([(is8E!F7VQ[M+Eqj?FED)3+C]U=6"Fn ...
// Decode...
bd.Clear();
bd.AppendEncoded(encodedAscii85,'ascii85');
success := bd.WriteFile('qa_output/starfish20.jpg');
end;