📜  Node.js 字符串解码器完整参考(1)

📅  最后修改于: 2023-12-03 15:17:57.065000             🧑  作者: Mango

Node.js 字符串解码器完整参考

在 Node.js 中有多种字符串解码器可用,本文将介绍这些解码器以及它们如何使用。

querystring 模块

querystring 模块提供了一些解码器和编码器函数,用于处理 URL 查询字符串和其它字符串格式。以下是该模块最常用的解码器函数:

  • querystring.parse(str[, sep[, eq[, options]]]):将 URL 查询字符串解析为对象。
  • querystring.decode(str[, options]):将 URL 查询字符串解析为对象,与 querystring.parse() 函数的行为相同。
  • querystring.unescape(str):将 URL 编码的字符串解码为原始字符串。
  • querystring.escape(str):将字符串编码为 URL 编码的格式。

下面是一个示例:

const querystring = require('querystring');

const str = 'name=John&age=30';

const obj = querystring.parse(str);

console.log(obj);

以上代码输出:

{ name: 'John', age: '30' }
buffer 模块

buffer 模块提供了将 Buffer 对象转换为字符串的功能。以下是该模块最常用的解码器函数:

  • Buffer.toString([encoding[, start[, end]]]):将 Buffer 对象的内容解码为字符串。
  • Buffer.from(string[, encoding]):将字符串转换为 Buffer 对象。

下面是一个示例:

const buf = Buffer.from('Hello world', 'utf8');

const str = buf.toString('utf8');

console.log(str);

以上代码输出:

Hello world
iconv-lite 模块

iconv-lite 模块提供了比 Node.js 内置的字符串解码器更多的转换选项,并且支持更多的字符集。以下是该模块最常用的解码器函数:

  • iconv.decode(str, encoding[, options]):将字符串解码为指定的字符集。

下面是一个示例:

const iconv = require('iconv-lite');

const buf = Buffer.from([0xc3, 0xa7, 0xc3, 0xb6, 0xc3, 0xbc]);

const str = iconv.decode(buf, 'utf8');

console.log(str);

以上代码输出:

çöü
总结

Node.js 提供了多种字符串解码器,我们可以根据需要选择使用。querystring 模块提供了基本的 URL 查询字符串解码器和编码器,buffer 模块提供了将 Buffer 对象转换为字符串的功能,iconv-lite 模块提供了更多的选项以及支持更多的字符集。