• Node.js Video Tutorials

Node.js - querystring.escape() 方法



Node.js querystring 模块提供用于解析和格式化 URL 查询字符串的实用程序。querystring.escape() 方法将从普通字符串返回一个百分比编码的查询字符串。此方法与encodeURIComponent 函数几乎相同。

此方法通过 % 符号将普通字符串编码为 URL 查询字符串。它将遍历给定的字符串,并在需要的地方添加 % 符号。此方法接受一个参数,即要编码的字符串,并将其编码后的版本作为输出返回。

编码过程将某些字符替换为它们的十六进制等效项,以使浏览器或数据库不会将其解释为代码的一部分。例如,“&” 在编码形式中将变为“%26”。

语法

以下是Node.js querystring.escape() 方法的语法:

querystring.escape(str)

参数

  • str - 此参数保存一个字符串,表示一个编码的查询字符串

返回值

此方法返回一个字符串,其中包含由给定字符串生成的查询字符串

示例

如果我们将普通字符串传递给Node.js querystring.escape() 方法,它将返回一个百分比编码的查询字符串

在给定的程序中,我们将一个普通字符串传递给Node.js querystring.escape() 方法。

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

var result = "Articles Node.js Tutorialspoint";
console.log(querystring.escape(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/63a038fade650/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.escape() 方法返回了一个百分比编码的查询字符串。

Articles%20Node.js%20Tutorialspoint

示例

如果我们将普通字符串传递给encodeURIComponent 函数,它将返回一个百分比编码的查询字符串。

在以下示例中,我们将一个普通字符串传递给 encodeURIComponent 函数。

const querystring = require('node:querystring');
var encodeURIComponent_func = "Articles HTML Tutorialspoint";
console.log(encodeURIComponent(encodeURIComponent_func))

输出

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/63a038fade650/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)

注意 - 要查看实际结果,请在本地执行上述代码。

正如我们在输出中看到的,encodeURIComponent 函数将返回一个百分比编码的查询字符串。

Articles%20HTML%20Tutorialspoint

示例

如果将普通字符串同时传递给 Node.js querystring.escape() 方法和 encodeURIComponent() 方法,则返回一个百分比编码的查询字符串。

在以下示例中,我们尝试使用 Node.js querystring.escape() 和 encodeURIComponent() 方法对提供的字符串进行编码。

const querystring = require('node:querystring');  
let string = "Articles Nodejs Tutorialspoint";
let escaped = querystring.escape(string)
let encodedURI = encodeURIComponent(string);
console.log("The result of querystring() method: " + escaped);
console.log("The result of decodeURIComponent() method: " + encodedURI)

if (escaped === encodedURI){
   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/63a038fade650/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%20Nodejs%20Tutorialspoint
The result of decodeURIComponent() method: Articles%20Nodejs%20Tutorialspoint
Both the results are same.
nodejs_querystring_module.htm
广告

© . All rights reserved.