Javascript:如何将我的unicode值转换回字符?

时间:2017-02-19 21:07:13

标签: javascript unicode

我已经能够成功地将我的字符转换为Unicode,添加1,但是我在转换回字符的最后一步时遇到了麻烦。我不知道为什么if语句中的最后一个语句不起作用。请帮忙!

function LetterChanges(str) {
  for (var i = 0; i < str.length; i++) {
    var c = str.charCodeAt(i);
    if (c > 64 && c < 127) {
      str = str.replace(str.charAt(i), c + 1);
      str = str.replace(str.charAt(i), str.fromCharCode(i));
    }
  }
  console.log(str);
}

LetterChanges("hello*3");

2 个答案:

答案 0 :(得分:0)

fromCharCode 应在String对象本身上作为您将实例传递到的静态方法调用。

此外,charAt(i)在功能上等同于[i]

虽然我不确定你在这之后是什么,但你可以在这里看到它的实现:

function LetterChanges(str) { 

  for(var i = 0; i < str.length; i++){
    var c = str.charCodeAt(i);
    if(c > 64 && c < 127){
      str = str.replace(str[i], String.fromCharCode(c + 1));
    }
  }
  console.log(str);      
}
       
LetterChanges("hello*3");

答案 1 :(得分:0)

您正在调用fromCharCode(i),但i是字符串的索引,而不是字符代码。您想传递字符代码:String.fromCharCode(c+1)或其他任何内容。