text = Array(this.battlefield.pointLimit() - this.battlefield.p2.score).join("∞");
context.fillText(text, client.canvas.width / 2, h-5);
编辑:我正在使用
在评论中尝试该功能text = Array(this.battlefield.pointLimit() - `this.battlefield.p2.score).join(toUTF16(0x221E));`
它的打印\ u221E
答案 0 :(得分:1)
text = Array(this.battlefield.pointLimit() - this.battlefield.p2.score).join("∞");
那应该没事。
但是:当浏览器从网页加载.js文件时,它会使用一种编码将脚本的字节解码为Unicode源代码,默认情况下,该编码与用于解码字节的字节相同。网页。
看起来你已经以UTF-8编码保存了.js文件(这是一个不错的选择),导致字符U + 221E Infinity ∞
被存储为字节序列0xE2 ,0x88,0x9E。但是浏览器使用Windows代码页1252编码加载了文件,其中该字节序列解码为字符∞
。
所以你可以做其中一个或两个:
<meta charset="utf-8"/>
标记添加到<head>
。.join('\u221E')
。