Sample code for 30+ languages & platforms
Tcl

Ascii85 Encoding and Decoding

See more Encryption Examples

Demonstrates ascii85 encoding and decoding.

Note: Requires Chilkat v9.5.0.79 or greater.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

# First demonstrate encoding strings to ascii85 and back.
set sb [new_CkStringBuilder]

set success [CkStringBuilder_Append $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."]

set encodedAscii85 [CkStringBuilder_getEncoded $sb "ascii85" "utf-8"]
puts "$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_Clear $sb
CkStringBuilder_Append $sb $encodedAscii85
set success [CkStringBuilder_Decode $sb "ascii85" "utf-8"]
puts "Original:"
puts [CkStringBuilder_getAsString $sb]

# ---- Now encode binary data to ascii85 ----
set bd [new_CkBinData]

set success [CkBinData_LoadFile $bd "qa_data/jpg/starfish20.jpg"]
set encodedAscii85 [CkBinData_getEncoded $bd "ascii85"]
puts "$encodedAscii85"

# Result is:  s4IA0!"_al8O`[\!<E0k!([(is8E!F7VQ[M+Eqj?FED)3+C]U=6"Fn ...

# Decode...
CkBinData_Clear $bd
CkBinData_AppendEncoded $bd $encodedAscii85 "ascii85"
set success [CkBinData_WriteFile $bd "qa_output/starfish20.jpg"]

delete_CkStringBuilder $sb
delete_CkBinData $bd