javascript - 在javascript中将整数数组转换为字符串

标签 javascript utf-8

这是php代码:

$arr=array(228,184,173,230,150,135,99,104,105,110,101,115,101);
$str='';
foreach ($arr as $i){
    $str.=chr($i);
}
print $str;

输出为:中文chinese

这是javascript代码:

var arr=[228,184,173,230,150,135,99,104,105,110,101,115,101];
var str='';
for (i in arr){
    str+=String.fromCharCode(arr[i]);
}
console.log(str);

输出是:ä¸æchinese

那么我应该如何在 javascript 中处理数组?

最佳答案

JavaScript 字符串由 UTF-16 组成代码单元,但数组中的数字是 UTF-8 的字节字符串。这是一种转换字符串的方法,它使用 decodeURIComponent()功能:

var i, str = '';

for (i = 0; i < arr.length; i++) {
    str += '%' + ('0' + arr[i].toString(16)).slice(-2);
}
str = decodeURIComponent(str);

以传统方式执行 UTF-8 到 UTF-16 的转换可能效率更高,但需要更多代码。

关于javascript - 在javascript中将整数数组转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14028148/

相关文章:

javascript - 如何从 javascript/google 应用程序脚本中的外部函数和同级函数调用函数

c# - Base64 到 UTF-8 字符串解码 - 阿拉伯文本

Python:通过 utf-8 字符串进行迭代 -> 迭代器的数据类型/编码是什么?

php - UTF-8贯穿始终

javascript - 如何将Map的条目打印到html文档中

javascript - $scope.$watch ...让它在另一个作用域上返回一个函数?

javascript - 从方法返回全局变量

utf-8 - 如何在openssl中使用utf8主题创建CSR?

java - 在 native 方法中更改字符串

javascript - JS过滤数组但如果存在反向则不过滤