base63 weirdness
Posted: Sat Oct 29, 2011 12:33 pm
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
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