DataFlex
DataFlex
Ascii85 Encoding and Decoding
See more Encryption Examples
Demonstrates ascii85 encoding and decoding.Note: Requires Chilkat v9.5.0.79 or greater.
Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoSb
String sEncodedAscii85
Handle hoBd
String sTemp1
Move False To iSuccess
// First demonstrate encoding strings to ascii85 and back.
Get Create (RefClass(cComChilkatStringBuilder)) To hoSb
If (Not(IsComObjectCreated(hoSb))) Begin
Send CreateComObject of hoSb
End
Get ComAppend Of hoSb "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." To iSuccess
Get ComGetEncoded Of hoSb "ascii85" "utf-8" To sEncodedAscii85
Showln sEncodedAscii85
// Result is: 9jqo^BlbD-BleB1DJ+*+F(f,q/0JhKF<GL>Cj@.4 ... DII?(E,9)oF*2M7/c
// Decode back to the original:
Send ComClear To hoSb
Get ComAppend Of hoSb sEncodedAscii85 To iSuccess
Get ComDecode Of hoSb "ascii85" "utf-8" To iSuccess
Showln "Original:"
Get ComGetAsString Of hoSb To sTemp1
Showln sTemp1
// ---- Now encode binary data to ascii85 ----
Get Create (RefClass(cComChilkatBinData)) To hoBd
If (Not(IsComObjectCreated(hoBd))) Begin
Send CreateComObject of hoBd
End
Get ComLoadFile Of hoBd "qa_data/jpg/starfish20.jpg" To iSuccess
Get ComGetEncoded Of hoBd "ascii85" To sEncodedAscii85
Showln sEncodedAscii85
// Result is: s4IA0!"_al8O`[\!<E0k!([(is8E!F7VQ[M+Eqj?FED)3+C]U=6"Fn ...
// Decode...
Get ComClear Of hoBd To iSuccess
Get ComAppendEncoded Of hoBd sEncodedAscii85 "ascii85" To iSuccess
Get ComWriteFile Of hoBd "qa_output/starfish20.jpg" To iSuccess
End_Procedure