在javascript中连接utf字符串时出错
Error on concatenate utf strings in javascript
我正在尝试连接字符串并打印其utf8字符。然而,由于某些原因,这似乎不是正确的语法。错误为:
console.log("'u" + i);
^^^
SyntaxError: Unexpected token ILLEGAL
用于生成的代码是
var _ = require('lodash');
_.times(2588, function(i){
console.log("'u" + i);
});
您可以使用String.fromCharCode
例如String.fromCharCode(0x2588) == "'u2588"
SyntaxError是因为"''u"不是有效的unicode序列。
假设您想创建带有''u前缀的动态序列,您可以这样做:
//65 --> 0065
Number.prototype.pad = function(size) {
var s = String(this);
while (s.length < (size || 2)) {s = "0" + s;}
return s;
}
for (var i=6000;i<6005;i++) // for example...
{
alert(unescape ('%u' + i.pad(4)))
}
结果:
怀
态
怂
怃
怄
http://jsbin.com/vogeqotoqa/edit?html,js,输出
这里有两个问题:
1) 当您连接字符串和表示utf序列的数字时,javascript试图将"''u"解析为unicode字符,如果您尝试console.log("'u0000"+0)
,结果将是�0
2) UTF 8序列必须包含4个十六进制字符,'u0
不是有效的unicode序列,而'u0000
是。unicode序列遵循以下正则表达式:'u[a-fA-F0-9]{4}
正确答案是Akisame的,使用console.log(String.fromCharCode(i));
。另请参阅在for循环中生成unicode字符列表
var message="здравей";
var final=message.concat(" готин"," свят");
alert(final);
相关文章:
- 比较Javascript中的两个字符串时出错
- 尝试组合字符串时出错
- 解析从js发送到Java的json字符串时出错
- 在javascript中将字符串转换为int时出错
- 根据64字符串绘制画布图片时出错
- angularjs[ng:areq]参数'fn'不是函数,在控制台中获取字符串时出错
- WebSQL:处理SQL时出错:数量为''语句字符串中的s与参数计数不匹配
- 在 AngularJS 中将字符串转换为对象时出错
- NaN Javascript 和 Jquery 尝试连接数字和字符串时出错
- 将对象转换为字符串 Javascript 时出错
- 在 ES6 中扩展字符串时出错
- 将字符串中的方括号文字与JS正则表达式匹配时出错
- 将字符串变量传递给方法时出错
- NodeJS Bug?执行在要返回的字符串之前带有换行符的返回语句时出错
- 在javascript中连接utf字符串时出错
- 转义字符串时出错
- 敲除js时出错字符串不是函数
- JQuery比较字符串时出错
- 使用JQuery解析JSON字符串时出错
- Javascript:在字符串中匹配子字符串出错