2014-09-30 115 views
0

如果URL中包含它的百分比解碼格式 像這樣編碼的NodeJS:如何從解碼URL查詢字符串原始值

%D8%A7%D9%84%D8%B3%D9%8A%D8%AF%20Ahmed 
中的NodeJS程序

非英文字符,我需要這個值來解碼其原始價值。

我已經試過:

var qs = require('querystring'); 
console.log(qs.unescape('%D8%A7%D9%84%D8%B3%D9%8A%D8%AF%20Ahmed')); 

console.log(swapBytes(new Buffer(%D8%A7%D9%84%D8%B3%D9%8A%D8%AF%20Ahmed,'hex')).toString('utf8')); 

無一不給我錯誤的值:السيد Ahmed

的原單值: السيد Ahmed

回答

2

該作品對我來說:

var buf = new Buffer('d8a7d984d8b3d98ad8af2041686d6564', 'hex'); 
console.log(buf.toString('utf8')); 

它在終端的右側顯示預期的名稱。您可以確保您的LANG環境變量在國家/語言後面有.UTF-8(例如en_US.UTF-8)。如果您正在使用PuTTY等測試控制檯中的輸出,請確保在下拉菜單中更改Window - >Translation中的Remote character set選項以連接到UTF-8,然後單擊應用。

+0

實際上,我發現所有的方法都在工作......問題出在輸出控制檯中而不是值...我正在使用Sublime Text ... – 2014-09-30 21:18:27