Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Base64 will inflate a list of bytes by 33%. For every three bytes that go in, 4 bytes are returned. Wikipedia has a very good explanation of why this is:

http://en.wikipedia.org/wiki/Base64

While we're on the subject, Ascii85 is kind of a cool alternative. By increasing the number of characters used for the encoded string and breaking a 32 bit integer apart in an interesting way, it is able to reduce the expansion down to 25%. For every 4 characters in, 5 come out. Again, more info is available on Wikipedia:

http://en.wikipedia.org/wiki/Ascii85



Incidentally, here's some javascript codecs I wrote for both base64 and ascii85, if anyone wants to play with using them on their sites:

http://pastie.textmate.org/695197

My base64 codec turns out to be quite similar to the Cappucino one; oddly, most of the javascript base64 codecs with decent google juice are actually horrible implementations.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: