我已经使用 string.charCodeAt() 将字符串转换为 ascii,但现在我已经完成了添加/减去值,我想将它们从 ASCII 转换回字母和字符串。
我希望使用 JavaScript 将以下数组转换回其字符字母,并最终转换为字符串。
asciiKeys= [70, 69, 69, 69, 32, 67, 66, 68, 69, 32, 67, 65, 77, 67];
我尝试使用以下内容,但它一直表明它不是一个函数:
for (var j=0;j<str.length;j++){
newAsciikeys.push(asciiKeys[j].fromCharCode(0));
}
最佳答案
fromCharCode
是 String
上的静态函数。因此,这将满足您的需要,而不需要循环:
reconstituted = String.fromCharCode.apply(null, asciiKeys);
apply
函数是将一组项目发送到函数的方式,就像您手动输入每个参数一样。例如,String.fromCharCode( asciiKeys[0], asciiKeys[1], asciiKeys[2], asciiKeys[3], ... )
(请注意,我假设您不需要中间字符数组,并且此解决方案直接转到您请求的最终字符串。如果您还需要中间字符数组,则可以将结果数组拆分为reconstitutioned.split('')
.)
编辑:(感谢@Kaiido)
为了稳健性,请注意 .apply
对它可以处理的参数数量(即数组大小)有特定于 JS 引擎的限制。为了处理这些情况,consider splitting up your work ,或者通过一对一处理回到可靠的旧循环。
关于javascript - 如何使用 JavaScript 将 ASCII 数字数组转换回其 char 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46761562/