I received this answer to my previous question about encoding strings. My hope in asking that question was to get some reversible way of shifting between a string and its representation as an array of bytes like in Python 3.
I ran into a problem with one particular Uint8Array though:
var encoder = new TextEncoder();
var decoder = new TextDecoder(encoder.encoding);
var s = [248, 35, 45, 41, 178, 175, 190, 62, 134, 39];
var t = Array.from(decoder.decode(encoder.encode(Uint8Array(s)));
I expected the value of t
to be [248, 35, 45, 41, 178, 175, 190, 62, 134, 39]
. Instead, it is [239, 191, 189, 35, 45, 41, 239, 191, 189, 239, 191, 189, 239, 191, 189, 62, 239, 191, 189, 39]
. The person who posted the answer was temporarily suspended from the site, so I cannot resolve this through commenting on his answer.
change var t = Array.from(decoder.decode(encoder.encode(Uint8Array(s)));
tovar t = JSON.parse('['+decoder.decode(encoder.encode(new Uint8Array(s)))+']');
.
var encoder = new TextEncoder();
var decoder = new TextDecoder(encoder.encoding);
var s = [248, 35, 45, 41, 178, 175, 190, 62, 134, 39];
var t = JSON.parse('['+decoder.decode(encoder.encode(new Uint8Array(s)))+']');
console.log(t);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With