2013-04-10 87 views

回答

6
decodeURIComponent('\u003cb\u003estring\u003c/b\u003e'); 

// "<b>string</b>" 

編輯 - 如果我能我會刪除上面的回答。

原來的問題是有點曖昧。

console.log('\u003cb\u003estring\u003c/b\u003e');就已經產生<b>string</b>

如果\字符轉義,那麼可以使用的替代方法只有\更換\\,從而使適當的Unicode轉義序列。

+0

注意字符串已經''。 'decodeURIComponent'什麼都沒做。 http://jsfiddle.net/ZAXux/。這裏有一個的jsfiddle顯示'decodeURIComponent'什麼都不做時,該字符串字面'\ u003cb \ u003estring \ u003c/B \ u003e' http://jsfiddle.net/ZAXux/1/ – Esailija 2013-04-10 23:41:57

+0

@Esailija你的第二個的jsfiddle有一個額外的「\ 「性格。至於你的第一個陳述,你的意思是「什麼都不做」? – 2013-04-11 03:07:09

+1

在javascript中,你需要編寫'「\\ u」'來從字面上獲得'u'。如果您沒有轉義反斜槓並寫入「\ u」,它將被解釋爲Unicode轉義序列。無所謂,我的意思是它沒有做任何事情,它可以在沒有任何改變的情況下被移除,如第一個jsfiddle所示。所以:'decodeURIComponent('\ u003cb \ u003estring \ u003c/b \ u003e'); ===「\ u003cb \ u003estring \ u003c/B \ u003e'' – Esailija 2013-04-11 08:58:52

13

這是一個How do I decode a string with escaped unicode? DUP。一個給定的,應該工作的答案:

var x = '\\u003cb\\u003estring\\u003c/b\\u003e'; 
JSON.parse('"' + x + '"') 

輸出:

'<b>string</b>' 
+0

你是天才... :) – 2016-04-13 20:46:54

+0

最好的答案爲止! – mafonya 2017-08-09 07:41:20