Javascript UTF-16字符代码之和

Javascript UTF-16字符代码之和,javascript,utf-16,Javascript,Utf 16,如果这似乎是一个简单的问题,但对我来说不是,我首先要道歉。刚开始学习JavaScript:) 因此,我的问题是如何返回UTF-16字符代码的值之和,例如,如果“A”=65,“AB”[A+B]=[65+66]=131,“ABC”-[A+B+C]=[65+66+67]将返回198,或者UTF-16中的“Hello World”=[H+e+l+l+o+W+o+r+l+d]将导致所有值的相加,等等。。。我必须创建一个函数来返回UTF-16代码的值之和 我想我必须利用charCodeAt();但我不知道如

如果这似乎是一个简单的问题,但对我来说不是,我首先要道歉。刚开始学习JavaScript:)

因此,我的问题是如何返回UTF-16字符代码的值之和,例如,如果“A”=65,“AB”[A+B]=[65+66]=131,“ABC”-[A+B+C]=[65+66+67]将返回198,或者UTF-16中的“Hello World”=[H+e+l+l+o+W+o+r+l+d]将导致所有值的相加,等等。。。我必须创建一个函数来返回UTF-16代码的值之和

我想我必须利用charCodeAt();但我不知道如何做到这一点


提前感谢您的回复

您可以使用
textcoder()
Array.prototype.reduce()
。注意,结果将是
198
,而不是
193

let str=“ABC”;
让res=[…newtextcoder().encode(str)].reduce((a,b)=>a+b);
控制台日志(res)使用:


var letras=“ABC”;
var-soma=0;
letras.split(“”).forEach(函数(letra){
soma+=letra.charCodeAt(0);
});
console.log(soma);
//返回198

是。在字符索引上使用一个循环,从0到字符串长度,并对字符代码求和。OP确实特别要求UTF16though@Bergi参见第65+66+67页的OP,“我必须使用charCodeAt(0)”。UTF16与问题和预期结果有何关系?OP明确询问了“UTF-16字符代码的值”。UTF8字节与示例ABC的值相同只是巧合。@Bergi在这个存在平面上没有任何巧合。JavaScript在内部使用UTF-16
String.prototype.charCodeAt()
返回与应答时的代码相同的结果。由于您在字符编码方面试图区分UTF-8和UTF-16,您需要描述两者之间的差异,否则您在当前问答中的输入缺乏实质性的优点。我相信您可以自己查找UTF-8和UTF-16之间的差异。不要在代码中使用UTF-8!
<script>
    var letras = "ABC";
    var soma = 0;

    letras.split('').forEach(function (letra) {
        soma+=letra.charCodeAt(0);
    });
    console.log(soma);
</script>
//return 198