I changed toString() to be a pointer to readUTFBytes.

Uint16Array will not work for UTF8. It might work for UTF16. Not sure. It might 
be interesting to see if the String.fromCharCode.apply approach would work with 
Uint8Array. If yes, the readUTFBtyes method could possibly be simplified.

I’m not sure what the value of having a toString method is. Is that something 
needed for AMF?

Harbs

> On Jun 11, 2018, at 2:17 PM, Carlos Rovira <[email protected]> wrote:
> 
> Hi Harbs,
> 
> see my fix, and if you think is not ok, feel free to update as you think.
> Then I can try AMF generation of UID and see if it continues working right
> ok?
> 
> I think with my latest commit I revert to how this was working...if I'm not
> missing something
> 
> thanks
> 
> 
> 
> 
> 2018-06-11 13:14 GMT+02:00 Harbs <[email protected] 
> <mailto:[email protected]>>:
> 
>> Why do you need toString rather than readUTFBytes()? FWIW, readUTFBytes()
>> already falls back to TextDecoder when available.
>> 
>>> On Jun 11, 2018, at 2:07 PM, Carlos Rovira <[email protected]>
>> wrote:
>>> 
>>> Hi,
>>> 
>>> no problem, we can go back to how it was that line before. I changed it
>> be
>>> have the same in all that class, but wasn't aware of that problem.
>>> So I'll change to what we had, and make to String do the same. I think it
>>> should work the same and as well work on IE/Edge
>>> 
>>> I'll take a look right now
>>> 
>>> 2018-06-11 11:13 GMT+02:00 Harbs <[email protected] 
>>> <mailto:[email protected]> <mailto:
>> [email protected] <mailto:[email protected]>>>:
>>> 
>>>> FWIW, I always check web API support in MDN and caniuse.com 
>>>> <http://caniuse.com/> before
>> using
>>>> them in Royale.
>>>> 
>>>> Some more details win this specific issue:
>>>> 
>>>> It looks like you added toString() to BinaryData and changed UIDUtils to
>>>> use that.
>>>> 
>>>> I don’t think a toString method in BinaryData makes sense. Flash was
>> very
>>>> smart about how it converted to a string. It was able to use the system
>>>> encoding if available. etc.
>>>> 
>>>> Trying to emulate that kind of behavior in BinaryData is not going to be
>>>> very PAYG. BinaryData already has UTF methods which cover the vast
>> majority
>>>> of text needs with BinaryData. Other types of text conversions should be
>>>> handled using utility functions if needed.
>>>> 
>>>> There are ways to get cross-browser support similar to TextEncoder, but
>>>> it’s not very PAYG either.[1]
>>>> 
>>>> My $0.02,
>>>> Harbs
>>>> 
>>>> [1]https://stackoverflow.com/questions/6965107/converting- 
>>>> <https://stackoverflow.com/questions/6965107/converting->
>>>> between-strings-and-arraybuffers <https://stackoverflow.com/ 
>>>> <https://stackoverflow.com/> <
>> https://stackoverflow.com/>
>>>> questions/6965107/converting-between-strings-and-arraybuffers>
>>>>> On Jun 11, 2018, at 12:02 PM, Yishay Weiss <[email protected]>
>>>> wrote:
>>>>> 
>>>>> Carols,
>>>>> 
>>>>> 
>>>>> 
>>>>> This breaks our app on IE and Edge, as they don’t support TextDecoder.
>>>> Can you fix this?
>>>>> 
>>>>> 
>>>>> 
>>>>> ________________________________
>>>>> From: [email protected] <[email protected]>
>>>>> Sent: Sunday, May 27, 2018 11:29:14 PM
>>>>> To: [email protected]
>>>>> Subject: [royale-asjs] branch develop updated: fix latest commit, since
>>>> binary data to string method was not really working
>>>>> 
>>>>> This is an automated email from the ASF dual-hosted git repository.
>>>>> 
>>>>> carlosrovira pushed a commit to branch develop
>>>>> in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
>>>>> 
>>>>> 
>>>>> The following commit(s) were added to refs/heads/develop by this push:
>>>>>   new 028a26a  fix latest commit, since binary data to string method
>>>> was not really working
>>>>> 028a26a is described below
>>>>> 
>>>>> commit 028a26ad29aac3740f150f9b971e310731a69db9
>>>>> Author: Carlos Rovira <[email protected]>
>>>>> AuthorDate: Sun May 27 22:28:57 2018 +0200
>>>>> 
>>>>>  fix latest commit, since binary data to string method was not really
>>>> working
>>>>> ---
>>>>> .../Core/src/main/royale/org/apache/royale/utils/BinaryData.as
>> |
>>>> 4 ++--
>>>>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>>>> 
>>>>> diff --git a/frameworks/projects/Core/src/main/royale/org/apache/
>> royale/utils/BinaryData.as
>>>> b/frameworks/projects/Core/src/main/royale/org/apache/
>>>> royale/utils/BinaryData.as
>>>>> index 0aa3097..5500c8f 100644
>>>>> --- a/frameworks/projects/Core/src/main/royale/org/apache/
>>>> royale/utils/BinaryData.as
>>>>> +++ b/frameworks/projects/Core/src/main/royale/org/apache/
>>>> royale/utils/BinaryData.as
>>>>> @@ -213,7 +213,7 @@ public class BinaryData implements
>> IBinaryDataInput,
>>>> IBinaryDataOutput
>>>>> 
>>>>>       COMPILE::JS
>>>>>       {
>>>>> -            return String.fromCharCode.apply(null, new
>>>> Uint16Array(ba));
>>>>> +            return (new TextDecoder("utf-8")).decode(ba);
>>>>>       }
>>>>>       }
>>>>> 
>>>>> @@ -804,7 +804,7 @@ public class BinaryData implements
>> IBinaryDataInput,
>>>> IBinaryDataOutput
>>>>>       }
>>>>>       COMPILE::JS
>>>>>       {
>>>>> -            return _len;;
>>>>> +            return _len;
>>>>>       }
>>>>>   }
>>>>> 
>>>>> 
>>>>> --
>>>>> To stop receiving notification emails like this one, please contact
>>>>> [email protected].
>>>> 
>>>> 
>>> 
>>> 
>>> --
>>> Carlos Rovira
>>> http://about.me/carlosrovira <http://about.me/carlosrovira> 
>>> <http://about.me/carlosrovira <http://about.me/carlosrovira>>
>> 
> 
> 
> 
> -- 
> Carlos Rovira
> http://about.me/carlosrovira <http://about.me/carlosrovira>

Reply via email to