Unicode字符不起作用

时间:2014-01-10 14:23:10

标签: javascript unicode

我是Javascript的新手,我听说过unicode字符,但我不知道它们是如何工作的。我这样做了:

alert("U+00BF");

这是一个颠倒的问号的unicode,但由于某种原因它只是警告字母“U + 00BF”。我尝试过使用更像这样的格式的unicode字符:

alert("/xF3");

那些有用,但我不知道第一个我做错了什么。有谁知道吗?

2 个答案:

答案 0 :(得分:5)

"U+00BF"中的alert("U+00BF");是一个长度为6的字符串,其中包含字符'U''+''0''0',{{ 1}},'B'。因此,字符串'F'将在警报中回显。

基于https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Values,_variables,_and_literals#Unicode

  

您可以在字符串文字,正则表达式和标识符中使用Unicode转义序列。转义序列由六个ASCII字符组成:\ u和四位十六进制数字。例如,\ u00A9代表版权符号。 JavaScript中的每个Unicode转义序列都被解释为一个字符。

这意味着,我们需要这样做:

"U+00BF"

看到"颠倒的问号" unicode character。

答案 1 :(得分:2)

符号U + 00BF只是一种传统的强调方式,即在文本中用代码编号00BF提及Unicode字符。它不是JavaScript中任何类型的转义符号。

你可以这样使用这个角色,

alert("¿")

提供处理character encoding issues,无论如何。

但是,如果由于某些外部约束而发现这种简单方法不适用,则可以使用经典的JavaScript转义符号:

alert("\xBF")

表示最多U + 00FF范围内的字符,或基于Unicode的JavaScript转义符号

alert("\u00BF")

表示范围最大为U + FFFF的字符。 (对于超出此范围的角色,您需要一个所谓的代理对。)

请注意,这些符号中使用的特殊字符是\ U + 005C REVERSE SOLIDUS,通常称为“反斜杠”,而不是/ U + 002F SOLIDUS,通常称为“斜杠” ,或有时(强调)“正斜线”。