2013-04-10 55 views

答えて

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

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

編集 - 可能ならば上記の回答を削除します。

元の質問は多少曖昧です。

console.log('\u003cb\u003estring\u003c/b\u003e');はすでに\文字がエスケープされている場合は、交換方法は、このように適切なUnicodeエスケープシーケンスが可能、ちょうど\\\を置き換えるために使用することができ<b>string</b>

が得られます。

+0

注意。 'decodeURIComponent'は何もしませんでした。 http://jsfiddle.net/ZAXux/。ここでは、 'decodeURIComponent'が文字列' \ u003cb \ u003estring \ u003c/b \ u003e'のときに何もしないjsfiddleがあります。http://jsfiddle.net/ZAXux/1/ – Esailija

+0

@Esailija 2番目のjsFiddleには、 " キャラクター。あなたの最初の声明については、「何もしない」とはどういう意味ですか? –

+1

JavaScriptでは文字通り '\ u'を得るために' '\\ u" 'と書く必要があります。バックスラッシュをエスケープして '' \ u "'と書いた場合、Unicodeのエスケープシーケンスとして解釈されます。私は何もしないことを意味し、最初のjsfiddleが示すように何も変更せずに削除することができます。したがって: 'decodeURIComponent( '\ u003cb \ u003estring \ u003c/b \ u003e'); === '\ u003cb \ u003string \ u003c/b \ u003e'' – Esailija

13

これはHow do I decode a string with escaped unicode?のdupです。動作するはずが与えられた答えのひとつ:

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

出力:stringはすでに `文字列`だったこと

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

あなたは天才です... :) –

+0

これまでのところ最高の答え! – mafonya

関連する問題