Help converting python one-liner...

Bob Sneidar bobsneidar at iotecdigital.com
Thu Apr 25 11:09:03 EDT 2024


Whaaaaa???? THAT may be why I was getting intermittent success with a socket based file transfer utility I developed! I wonder what base64Decode does with a base64Encoded string if you remove the carriage returns first? I’m going to have to research that. 

Bob S


> On Apr 25, 2024, at 7:57 AM, Andreas Bergendal via use-livecode <use-livecode at lists.runrev.com> wrote:
> 
> The problem may be that base64 encoding inserts line breaks after every 76
> chars (a remnant from terminal monitor width restrictions, apparently).
> I ran into this a while ago, and cleaning the encoded string with “replace
> cr with empty in tString” solved it for me.
> I don’t think any textEncode/Decode should be needed after that (Python is
> a different animal after all… :)
> 
> /Andreas
> 
> ons 24 apr. 2024 kl. 20:46 skrev David Bovill via use-livecode <
> use-livecode at lists.runrev.com>:
> 
>> I need to put encodeImageData into json (which is utf-8) and then post it
>> to the api. I'm not sure what aspects of base64 encoding would not be utf8
>> compatible... seem to remember there are some quirks there to be aware of.
>> The python code does  the decode("utf-8") step at the end - so I guess
>> there is some issue with raw base64 encoding in json?
>> 
>> On Wed, 24 Apr 2024 at 19:26, Paul Dupuis via use-livecode <
>> use-livecode at lists.runrev.com> wrote:
>> 
>>> On 4/24/2024 1:43 PM, David Bovill via use-livecode wrote:
>>>> I'm trying to base64 encode an image and include it into a json file to
>>>> post to an api. The python code that accomplishes this is:
>>>> 
>>>> image1_data =
>>>> base64.b64encode(httpx.get(image1_url).content).decode("utf-8")
>>>> 
>>>> When I try to follow the logic in Livecode I get:
>>>> 
>>>> put url imageUrl into sImage
>>>> put base64Encode (sImage) into base64Image
>>>> put textDecode (base64Image, "UTF-8") into encodedImageData
>>>> 
>>>> However the api complains that the image is not encoded properly.
>> Adding
>>> or
>>>> removing the "textDecode" step does not help. Any thoughts?
>>>> 
>>> 
>>> This is just a guess, but I thing your last line needs to be:
>>> 
>>> put textEncode(base64Image,"UTF-8") into encodedImageData
>>> 
>>> textDecode in Livecode converts from the format (UTF-8) to Livecode's
>>> 16bit internal unicode
>>> 
>>> textEncode converts from livecode's internal 16bit unicode to the
>>> indicated format (UTF-8).
>> 
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode



More information about the use-livecode mailing list