将Unicode字符插入到JavaScript中

我需要在我的html页面上插入一个欧米茄(Ω)。 我使用它的HTML转义代码来做到这一点,所以我可以写Ω 并得到Ω。 当我把它放入一个HTML元素时,这一切都很好, 然而,当我尝试把它放入我的JS,例如var Omega = Ω ,它parsing代码为JS,整个事情不起作用。 任何人都知道如何去做这个?

我猜你确实希望Omega是一个含有大写欧米茄的string ? 在这种情况下,你可以写:

 var Omega = '\u03A9'; 

(因为Ω是代码点U + 03A9的Unicode字符 ;即03A9937 ,除了写成四个hex数字。

虽然@ruakh给出了一个很好的答案,但我会添加一些替代scheme来完成:

你甚至可以使用var Omega = 'Ω' 在JavaScript中,但只有当你的JavaScript代码是:

  • 在事件属性中,如onclick="var Omega = '&#937'; alert(Omega)"
  • 在XML内容types的XHTML(或XHTML + XML)文档中的script元素中。

在这些情况下,代码将首先(在传递给JavaScript解释器之前)由HTMLparsing器parsing,以便字符引用像Ω 被认可。 这些限制在大多数情况下是不切实际的。

您也可以inputΩ字符,如var Omega = 'Ω' ,但字符编码必须允许,编码必须正确声明,并且您需要软件让您input这些字符。 这是一个干净的解决scheme,如果你使用UTF-8编码,并且准备好处理由此产生的问题,这是一个很好的解决scheme。 源代码将是可读的,阅读它,你立即看到字符本身,而不是代码符号。 另一方面,如果其他人开始使用您的代码,可能会引起意外。

使用符号,如var Omega = '\u03A9' ,独立于字符编码,实际上几乎是通用的。 然而它也可以只用于U + FFFF,即最多可以\uffff ,但大多数人听说过的大多数字符都属于这个区域。 (如果你需要“更高”的字符,你需要使用代理对或上面两种方法之一。)

您也可以使用String.fromCharCode()方法构造一个字符,并以var Omega = String.fromCharCode(937)或hex(如var Omega = String.fromCharCode(0x3A9) 。 这适用于U + FFFF。 即使您在variables中具有Unicode编号,也可以使用此方法。

答案是正确的,但是你不需要声明一个variables。 一个string可以包含你的字符:

 "This string contains omega, that looks like this: \u03A9" 

不幸的是,仍然需要用ASCII码显示UTF-8,但是我仍然在等待(因为太多年了…)UTF-8与ASCII相同的日子,ASCII将只是一个记忆过去。