我收到了关于编码字符串的前一个问题的this answer。我提出这个问题的目的是获得某种可逆的方法,在字符串和它的字节数组表示之间进行转换,就像在Python3中那样。
不过,我遇到了一个特定Uint8Array的问题:
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)));我原以为t的值是[248, 35, 45, 41, 178, 175, 190, 62, 134, 39]。相反,它是[239, 191, 189, 35, 45, 41, 239, 191, 189, 239, 191, 189, 239, 191, 189, 62, 239, 191, 189, 39]。发布答案的人被暂时停用了,所以我不能通过评论他的答案来解决这个问题。
发布于 2017-11-15 08:27:54
将var t = Array.from(decoder.decode(encoder.encode(Uint8Array(s)));更改为
var 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);
https://stackoverflow.com/questions/47296601
复制相似问题