我以前从未这样做过,我不确定为什么它会输出臭名昭著的 �
编码字符。关于如何输出字符(ASCII+Unicode)的任何想法?我认为 \u0041
-\u005A
应该以 UTF-8 打印 A-Z
,Firefox 报告的是页面编码。
var c = new Array("F","E","D","C","B","A",9,8,7,6,5,4,3,2,1,0);
var n = 0;
var d = "";
var o = "";
for (var i=16;i--;){
for (var j=16;j--;){
for (var k=16;k--;){
for (var l=16;l--;){
d = c[i].toString()
+ c[j].toString()
+ c[k].toString()
+ c[l].toString();
o += ( ++n + ": "
+ d + " = "
+ String.fromCharCode("\\u" + d)
+ "\n<br />" );
if(n>=500){i=j=k=l=0;} // stop early
}
}
}
}
document.write(o);
最佳答案
.fromCharCode()
函数接受一个数字,而不是一个字符串。您不能将这样的字符串放在一起并期望解析器按照您的想法进行;这不是语言的工作方式。
您可以修改您的代码以从您的十六进制数生成一个字符串(不带'\u'),然后调用
var n = parseInt(hexString, 16);
获取值。然后你可以用那个值调用.fromCharCode()
。
关于javascript - Unicode 值\uXXXX 到 Javascript 中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3835317/