PureBasic
PureBasic
Ascii85 Encoding and Decoding
See more Encryption Examples
Demonstrates ascii85 encoding and decoding.Note: Requires Chilkat v9.5.0.79 or greater.
Chilkat PureBasic Downloads
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkBinData.pb"
Procedure ChilkatExample()
success.i = 0
; First demonstrate encoding strings to ascii85 and back.
sb.i = CkStringBuilder::ckCreate()
If sb.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkStringBuilder::ckAppend(sb,"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.s = CkStringBuilder::ckGetEncoded(sb,"ascii85","utf-8")
Debug encodedAscii85
; Result is: 9jqo^BlbD-BleB1DJ+*+F(f,q/0JhKF<GL>Cj@.4 ... DII?(E,9)oF*2M7/c
; Decode back to the original:
CkStringBuilder::ckClear(sb)
CkStringBuilder::ckAppend(sb,encodedAscii85)
success = CkStringBuilder::ckDecode(sb,"ascii85","utf-8")
Debug "Original:"
Debug CkStringBuilder::ckGetAsString(sb)
; ---- Now encode binary data to ascii85 ----
bd.i = CkBinData::ckCreate()
If bd.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkBinData::ckLoadFile(bd,"qa_data/jpg/starfish20.jpg")
encodedAscii85 = CkBinData::ckGetEncoded(bd,"ascii85")
Debug encodedAscii85
; Result is: s4IA0!"_al8O`[\!<E0k!([(is8E!F7VQ[M+Eqj?FED)3+C]U=6"Fn ...
; Decode...
CkBinData::ckClear(bd)
CkBinData::ckAppendEncoded(bd,encodedAscii85,"ascii85")
success = CkBinData::ckWriteFile(bd,"qa_output/starfish20.jpg")
CkStringBuilder::ckDispose(sb)
CkBinData::ckDispose(bd)
ProcedureReturn
EndProcedure