Sample code for 30+ languages & platforms
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

DataFlex
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