« WebException: "The message length limit was exceeded" | Main | Persistent Hash Codes »

18 February 2012

Ascii85 implementation in C#

Ascii85 is an encoding scheme that converts 4 bytes into 5 ASCII characters (in the range ! through u). As a result, it only has 25% encoding overhead compared to the 33% of Base64.

I recently needed to smuggle some binary data through HTTP headers without exceeding the message length limit; Ascii85 seemed like the best choice.

There were a couple of implementations available on the bathroom wall of code, but they had various problems that precluded their use:

So I wrote my own. The code is available on GitHub: Ascii85.cs, Ascii85Tests.cs

As with the other code on this blog, it's released under a MIT-style license.

Posted by Bradley Grainger at February 18, 2012 11:25 AM