C# implementation of ASCII85
As promised, here is my C# implementation of the ASCII85 algorithm. This code is a loose port of the C sample referenced from the Wikipedia page. It's too much code to paste into a single entry, so I packaged it as a VS.NET 2003 solution -- using Clean Sources Plus, of course!
This includes both encoding and decoding, with reasonable data validation and a few minor options. Here's a quick list of the public methods:
Encode(byte ba) Decode(string s)
And a handful of properties:
EnforceMarks (bool) LineLength (int) PrefixMark (string) SuffixMark (string)
The sample app includes a basic test harness which tests string and binary file encoding, as well as some bad data scenarios. Here's the default demo running against the vaguely creepy Wikipedia slogan:
Of course, converting printable text to, er.. printable text.. isn't exactly an earth-shattering demo. Normally you'd be doing this on some kind of real binary data, as in the GUID.ToByteArray() example.