【发布时间】:2014-03-12 06:58:08
【问题描述】:
理论上,无论输入是什么,输出都应该是不变的:
String.fromCharCode("a".charCodeAt(0)); //"a"
这是有道理的,因为我只是想获取一个字符的字符代码,然后将其转换回一个字符。
但是当我尝试使用这个角色时,它会中断:
//"????": 55356
String.fromCharCode("????".charCodeAt(0)); //"�" (65533)
(请注意,我实际上突出显示了字符串并将其粘贴到下一行。由于某种原因,它自己更改为�。)
为什么会发生这种情况,我该如何解决?
我注意到 ES6 中有一个新方法,String.fromCodePoint(),但除了 Firefox 之外,并非所有浏览器都支持它。
【问题讨论】:
-
@user1281385 - 哇,这是用 Java 写的,不是 JavaScript。
-
对不起,当你评论时我试图删除
-
可能是一个更好的链接stackoverflow.com/questions/5446492/…
-
试试控制台
String.fromCharCode("????".charCodeAt(0)).charCodeAt(0)-> jsfiddle.net/9bLxB -
不过,
console.log("????".charCodeAt(0), String.fromCharCode("????".charCodeAt(0)).charCodeAt(0));给出了 55356 55356 jsfiddle.net/9bLxB/1 那么问题出在哪里,它并没有中断?
标签: javascript char tampermonkey fromcharcode