2013-04-10 59 views

Trả lời

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

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

Chỉnh sửa - Tôi sẽ xóa câu trả lời ở trên nếu có thể.

Câu hỏi ban đầu hơi mơ hồ.

console.log('\u003cb\u003estring\u003c/b\u003e'); sẽ đã mang lại <b>string</b>

Nếu \ nhân vật đang trốn thoát, sau đó là một phương pháp thay thế có thể được sử dụng để thay thế \\ chỉ với \, do đó cho phép các chuỗi Unicode thoát thích hợp.

+0

Lưu ý rằng chuỗi đã là 'chuỗi '. 'decodeURIComponent' không làm gì cả. http://jsfiddle.net/ZAXux/. Đây là một jsfiddle để hiển thị 'decodeURIComponent' không làm gì khi chuỗi có nghĩa là' \ u003cb \ u003estring \ u003c/b \ u003e' http://jsfiddle.net/ZAXux/1/ – Esailija

+0

@Esailija jsFiddle thứ hai của bạn có thêm "\" " tính cách. Đối với tuyên bố đầu tiên của bạn, bạn có ý nghĩa gì "không làm gì cả"? –

+1

Trong javascript, bạn cần phải viết '" \\ u "' để nhận '\ u' theo nghĩa đen. Nếu bạn không thoát dấu gạch chéo ngược và viết '" \ u "', nó được hiểu là một chuỗi thoát Unicode. Bởi không có gì tôi có nghĩa là nó không làm bất cứ điều gì và nó có thể được gỡ bỏ mà không có bất kỳ thay đổi như jsfiddle đầu tiên cho thấy. Vì vậy: 'decodeURIComponent ('\ u003cb \ u003estring \ u003c/b \ u003e'); === '\ u003cb \ u003estring \ u003c/b \ u003e'' – Esailija

13

Đây là bản dup của How do I decode a string with escaped unicode?. Một trong những câu trả lời cho có phải làm việc:

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

Output:

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

bạn là một thiên tài ... :) –

+0

Câu trả lời hay nhất cho đến nay! – mafonya

Các vấn đề liên quan