这是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/