javascript - 如何使用 JavaScript 将 ASCII 数字数组转换回其 char 值?

标签 javascript arrays string ascii

我已经使用 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));
}

最佳答案

fromCharCodeString 上的静态函数。因此,这将满足您的需要,而不需要循环:

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/

相关文章:

c++ - 使用 _bstr_t 时无效的空指针

javascript - Backbone 路由器.navigate如何传递动态ID

javascript 等同于不依赖 innerHTML 的 html_entity_decode?

java - 如何让数组在第一个元素上放置一个零而不跳过它?

java - 以逗号分割字符串

c - 根据教授的说法,代码中的段错误应该有效

java - java 和 Scala 中非 Ascii 字符的子字符串

javascript - D3.js 将对象绑定(bind)到数据并附加每个键

javascript - 显示模态弹出窗口

python - numpy 获取在矩阵中构成数组的 block