• Node.js Video Tutorials

Node.js - querystring.unescape() 方法



Node.js 的querystring模組提供用於解析和格式化URL查詢字串的實用程式。Node.js 的querystring.unescape()方法對提供的字串中的URL百分比編碼字元進行解碼,並返回一個普通字串。此方法會移除提供的字串中的%符號,並返回一個普通字串。

Node.js querystring.unescape()方法由querystring.parse()方法使用,不會直接使用。預設情況下,querystring.unescape()方法嘗試使用JavaScript內建的decodeURIComponent()方法進行解碼。

語法

以下是Node.js querystring.unescape()方法的語法:

querystring.unescape(str)

引數

此方法接受四個引數。這些引數描述如下。

  • str − 此引數將儲存一個URL百分比編碼字元,這些字元將被解碼為普通字串。

返回值

此方法將解碼給定的URL百分比編碼字元,並返回一個普通字串。

示例

如果我們將URL百分比編碼字元傳遞給Node.js querystring.unescape()方法,它將返回一個普通字串,不包括URL百分比編碼字元。

在下面的示例中,我們使用Node.js querystring.unescape()方法編碼一個URL百分比編碼字串。

const querystring = require('node:querystring');

var result = "Articles%20Node.js%20Tutorialspoin";
console.log(querystring.escape(result));

var unescaped = result;
console.log(querystring.unescape(unescaped));

輸出

internal/modules/cjs/loader.js:596
   throw err;
   ^
   
Error: Cannot find module 'node:querystring'at Function.Module._resolveFilename (internal/modules/cjs/loader.js:594:15)
   at Function.Module._load (internal/modules/cjs/loader.js:520:25)
   at Module.require (internal/modules/cjs/loader.js:650:17)
   at require (internal/modules/cjs/helpers.js:20:18)
   at Object.<anonymous> (/home/cg/root/63a03fcfc3513/main.js:1:83)
   at Module._compile (internal/modules/cjs/loader.js:702:30)
   at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
   at Module.load (internal/modules/cjs/loader.js:612:32)
   at tryModuleLoad (internal/modules/cjs/loader.js:551:12)
   at Function.Module._load (internal/modules/cjs/loader.js:543:3)

注意 − 要檢視實際結果,請在本地執行上述程式碼。

從下面的輸出中可以看到,Node.js querystring.unescape()方法返回了一個普通字串。

Articles Node.js Tutorialspoint

示例

如果我們將URL百分比編碼字元的字串傳遞給Node.js decodeURIComponent()方法,則該方法將返回一個不包含URL百分比編碼字元的普通字串。

下面的示例演示了Node.js decodeURIComponent()方法的使用。

const querystring = require('node:querystring');
let string = "Articles%20Nodejs%20Tutorialspoint";
let result = decodeURIComponent(string);
console.log(result)

輸出

internal/modules/cjs/loader.js:596
   throw err;
   ^
   
Error: Cannot find module 'node:querystring'
   at Function.Module._resolveFilename (internal/modules/cjs/loader.js:594:15)
   at Function.Module._load (internal/modules/cjs/loader.js:520:25)
   at Module.require (internal/modules/cjs/loader.js:650:17)
   at require (internal/modules/cjs/helpers.js:20:18)
   at Object.<anonymous> (/home/cg/root/63a03fcfc3513/main.js:1:83)
   at Module._compile (internal/modules/cjs/loader.js:702:30)at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
   at Module.load (internal/modules/cjs/loader.js:612:32)
   at tryModuleLoad (internal/modules/cjs/loader.js:551:12)
   at Function.Module._load (internal/modules/cjs/loader.js:543:3)

注意 − 如果我們在本地編譯並執行上述程式,Node.js decodeURIComponent()方法將返回一個普通字串。

Articles Nodejs Tutorialspoint

示例

如果將包含URL百分比編碼字元的字元串同時傳遞給Node.js querystring.unescape()方法和Node.js decodeURIComponent()方法,它們將返回相同的普通字串。

在下面的示例中,我們嘗試使用Node.js querystring.unescape()Node.js decodeURIComponent()方法解碼URL百分比編碼字元。

const querystring = require('node:querystring');  
let string = "Articles%20Nodejs%20Tutorialspoint";
let unescaped = querystring.unescape(string)
let decodedURI = decodeURIComponent(string);

console.log("The result of querystring() method: " + unescaped);
console.log("The result of decodeURIComponent() method: " + decodedURI)

if (unescaped === decodedURI){
   console.log("Both the results are same.");
}
else{
   console.log("Both the results are not same");
}

輸出

internal/modules/cjs/loader.js:596
   throw err;
   ^
   
Error: Cannot find module 'node:querystring'
   at Function.Module._resolveFilename (internal/modules/cjs/loader.js:594:15)
   at Function.Module._load (internal/modules/cjs/loader.js:520:25)
   at Module.require (internal/modules/cjs/loader.js:650:17)
   at require (internal/modules/cjs/helpers.js:20:18)
   at Object.<anonymous> (/home/cg/root/63a03fcfc3513/main.js:1:83)
   at Module._compile (internal/modules/cjs/loader.js:702:30)
   at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
   at Module.load (internal/modules/cjs/loader.js:612:32)
   at tryModuleLoad (internal/modules/cjs/loader.js:551:12)at Function.Module._load (internal/modules/cjs/loader.js:543:3)

注意 − 要檢視實際結果,請在本地執行上述程式碼。

執行上述程式後,這兩種方法都返回相同的字串。

The result of querystring() method: Articles Nodejs Tutorialspoint
the result of decodeURIComponent() method: Articles Nodejs Tutorialspoint
Both the results are same.
nodejs_querystring_module.htm
廣告
© . All rights reserved.