Ben Bacarisse
1/23/2016 11:17:00 AM
Robby Balona <robby@grab.co.za> writes:
> On Friday, January 22, 2016 at 1:52:47 PM UTC+2, Robby Balona wrote:
<snip>
>> I have a string "ab05d705" and I am trying to convert it to the
>> following so I can add it to a Uint8Array. So how do I convert the
>> string "ab05d705" to
>> 0xab,0x05,0xd7,0x05 to put into the following
>> var data = new Uint8Array([0xab,0x05,0xd7,0x05]);
<snip>
> Thanks everyone for the wonderful help but I get this error when I try
> to use Uint8Array.from
>
> TypeError: Object function Uint8Array() { [native code] } has no method 'from'
>
> Perhaps I should have also stated that I am using Cordova to do this
> project .. My bad, should have given more details
Most of the solutions can be altered to avoid using Uint8Array.from.
For example, s.match(/../g).map(s => parseInt(s, 16)) simply makes an
array of numbers which could be used as in your own example:
var data = new Uint8Array(s.match(/../g).map(s => parseInt(s, 16)));
I don't know Cordova, so you might also run into trouble with the "arrow
function" syntax. In which case, you need the more wordy
s.match(/../g).map(function (s) { return parseInt(s, 16); })
--
Ben.