Base64 weirdness

Richard Gaskin ambassador at fourthworld.com
Sat Oct 29 10:00:17 CDT 2011


Maarten Koopmans wrote:

> Sorry for the cross-post from the forum, but this (silly) thing is
> becoming a blocker.
>
> A (to me) subtle question, which has to do with the base64 encoding. A
> base 64 encoded binary needs to be a multiple of 4. It' what all other
> implementation seem to do as well (tested Scala (JVM) and REBOL (C
> underneath)).
>
> But if I test with a standalone file like this:
>
> put "/Users/maartenkoopmans/Desktop/pw.jpg" into tFilename
> put base64encode(url("binfile:" & tFilename)) into tImage
> answer "file read and converted"
> answer the length of tImage
>
> I consistently get 7758 as length in Livecode, and 7652 in other
> implementaions (REBOL, Scala). The LC form has two bytes to much to be
> multiple of 4, and way more than the others, which are multiples of
> fours. So how do you get your data back then to display the image in a
> different environment (say, as webserver....)?
>
> Any thoughts appreciated...

What others wrote about line endings is likely the explanation.

But since base64 implementation should ignore line endings, how is this 
a blocker for you?  What software is not unencoding those correctly?

--
  Richard Gaskin
  Fourth World
  LiveCode training and consulting: http://www.fourthworld.com
  Webzine for LiveCode developers: http://www.LiveCodeJournal.com
  LiveCode Journal blog: http://LiveCodejournal.com/blog.irv



More information about the use-livecode mailing list