Base64 weirdness
Richard Gaskin
ambassador at fourthworld.com
Sat Oct 29 11:00:17 EDT 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