[racket] base64 decoding

From: Gustavo Massaccesi (gustavo at oma.org.ar)
Date: Tue Aug 19 09:38:08 EDT 2014

I used base64 a few years ago, but only for short string, so I didn't
do anything fancy. My problem was that there are millions of base64
variants, and I just needed one that is different from the standard.

Standard: AZaz09+/
Filename compatible: AZaz09-_
for crypt/bcrypt: ./AZaz09
for regular expressions: AZaz!-

It would be useful that the base64 functions have a optional named
argument that specifies the encoding. I think that the better format
is a string of 64 characters, because there are just too many variants
out there. The most common variants should be included in the library.

(And there are still the differences with the padding and line length
options ... )


On Tue, Aug 19, 2014 at 6:03 AM, Neil Van Dyke <neil at neilvandyke.org> wrote:
> Has anyone written a faster Base64 decode than in the "net/base64" module?
> ("base64-decode-stream" is suffering when tens of MB are run through it.
> Perhaps due in part to whatever overhead the input port has. The code looks
> pretty good.  I'd probably have to try using block reads to reduce calls for
> the port abstractions, and also make a variant that works directly on byte
> strings without ports.  Just checking whether someone has already done
> this.)
> Neil V.
> ____________________
>  Racket Users list:
>  http://lists.racket-lang.org/users

Posted on the users mailing list.