2014-01-10 80 views
0

我對Javascript真的很陌生,我聽說過unicode字符,但我不知道它們是如何工作的。我這樣做:Unicode字符不能正常工作

alert("U+00BF"); 

這是一個顛倒的問號unicode的,但由於某些原因,它只是提醒字母「U + 00BF」。我已經使用Unicode字符與更多像這樣的格式嘗試:

alert("/xF3"); 

和那些工作,但我不知道我在做什麼錯誤的第一個。有人知道嗎?

+0

你可以讓我們爲代碼的小提琴樣本。另外我猜想它的發生是因爲你要麼使用utf-8字符集,要麼完全不使用它。試着用utf-16來做。 –

+0

我該怎麼做? – CPC

+1

'alert(「/ xF3」)'如何工作?它直接顯示四個字符/ xF3。 –

回答

5

"U+00BF"alert("U+00BF");是包含字符'U''+''0''0''B''F'長度爲6的字符串。因此,字符串"U+00BF"在警報中被回顯。

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

您可以使用字符串常量,正則表達式和標識符的Unicode轉義序列。轉義序列由六個ASCII字符組成:\ u和一個四位十六進制數字。例如,\ u00A9代表版權符號。 JavaScript中的每個Unicode轉義序列都被解釋爲一個字符。

這意味着,我們需要做的:

alert("\u00BF"); 

看到 「倒置問號」 Unicode字符。

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,一般,和原來,所謂的「反斜槓」,不/ū + 002F SOLIDUS,通常稱爲「斜線」,或有時(爲了強調)「正斜槓」。