[//000000001]: # (ascii85 \- Text encoding & decoding binary data) [//000000002]: # (Generated from file 'ascii85\.man' by tcllib/doctools with format 'markdown') [//000000003]: # (Copyright © 2010, Emiliano Gavilán) [//000000004]: # (ascii85\(n\) 1\.0 tcllib "Text encoding & decoding binary data")
[ Main Table Of Contents | Table Of Contents | Keyword Index | Categories | Modules | Applications ]
# NAME ascii85 \- ascii85\-encode/decode binary data # Table Of Contents - [Table Of Contents](#toc) - [Synopsis](#synopsis) - [Description](#section1) - [EXAMPLES](#section2) - [References](#section3) - [Bugs, Ideas, Feedback](#section4) - [Keywords](#keywords) - [Category](#category) - [Copyright](#copyright) # SYNOPSIS package require Tcl 8\.4 package require ascii85 ?1\.0? [__::ascii85::encode__ ?__\-maxlen__ *maxlen*? ?__\-wrapchar__ *wrapchar*? *string*](#1) [__::ascii85::decode__ *string*](#2) # DESCRIPTION This package provides procedures to encode binary data into ascii85 and back\. - __::ascii85::encode__ ?__\-maxlen__ *maxlen*? ?__\-wrapchar__ *wrapchar*? *string* Ascii85 encodes the given binary *string* and returns the encoded result\. Inserts the character *wrapchar* every *maxlen* characters of output\. *wrapchar* defaults to newline\. *maxlen* defaults to __76__\. *Note well*: If your string is not simple ascii you should fix the string encoding before doing ascii85 encoding\. See the examples\. The command will throw an error for negative values of *maxlen*, or if *maxlen* is not an integer number\. - __::ascii85::decode__ *string* Ascii85 decodes the given *string* and returns the binary data\. The decoder ignores whitespace in the string, as well as tabs and newlines\. # EXAMPLES % ascii85::encode "Hello, world" 87cURD_*#TDfTZ) % ascii85::encode [string repeat xyz 24] G^4U[H$X^\H?a^]G^4U[H$X^\H?a^]G^4U[H$X^\H?a^]G^4U[H$X^\H?a^]G^4U[H$X^\H?a^]G ^4U[H$X^\H?a^] % ascii85::encode -wrapchar "" [string repeat xyz 24] G^4U[H$X^\H?a^]G^4U[H$X^\H?a^]G^4U[H$X^\H?a^]G^4U[H$X^\H?a^]G^4U[H$X^\H?a^]G^4U[H$X^\H?a^] # NOTE: ascii85 encodes BINARY strings. % set chemical [encoding convertto utf-8 "C\u2088H\u2081\u2080N\u2084O\u2082"] % set encoded [ascii85::encode $chemical] 6fN]R8E,5Pidu\UiduhZidua % set caffeine [encoding convertfrom utf-8 [ascii85::decode $encoded]] # References 1. [http://en\.wikipedia\.org/wiki/Ascii85](http://en\.wikipedia\.org/wiki/Ascii85) 1. Postscript Language Reference Manual, 3rd Edition, page 131\. [http://www\.adobe\.com/devnet/postscript/pdfs/PLRM\.pdf](http://www\.adobe\.com/devnet/postscript/pdfs/PLRM\.pdf) # Bugs, Ideas, Feedback This document, and the package it describes, will undoubtedly contain bugs and other problems\. Please report such in the category *base64* of the [Tcllib Trackers](http://core\.tcl\.tk/tcllib/reportlist)\. Please also report any ideas for enhancements you may have for either package and/or documentation\. When proposing code changes, please provide *unified diffs*, i\.e the output of __diff \-u__\. Note further that *attachments* are strongly preferred over inlined patches\. Attachments can be made by going to the __Edit__ form of the ticket immediately after its creation, and then using the left\-most button in the secondary navigation bar\. # KEYWORDS [ascii85](\.\./\.\./\.\./\.\./index\.md\#ascii85), [encoding](\.\./\.\./\.\./\.\./index\.md\#encoding) # CATEGORY Text processing # COPYRIGHT Copyright © 2010, Emiliano Gavilán