Base64 weirdness

Maarten Koopmans maarten.koopmans at gmail.com
Sat Oct 29 07:35:27 EDT 2011


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...

--Maarten




More information about the use-livecode mailing list