node NPM库qs iconv-lite字符串编码转换及解析URL查询学习

 更新时间:2023年07月24日 11:17:55   作者:脉冲云_梁兴臣  
这篇文章主要为大家介绍了node NPM库之qs解析URL查询字符串及iconv-lite字符串编码转换学习,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

NPM酷库

每天两分钟,了解一个流行NPM库。

querystring库

Node.js 标准库中有一个库叫querystring,这个库用来处理URL查询字符串:

const querystring = require('querystring');
querystring.parse('foo=bar&baz=1');
// { foo:'bar', baz: '1' }

但是很遗憾,querystring 不支持内嵌对象和数组:

const querystring = require('querystring');
querystring.parse('foo[bar]=1&baz[]=2');
// { 'foo[bar]': '1', 'baz[]': '2' }

如果我们程序的前端界面form表单中存在数组,标准库的querystring就无法满足我们的需求了。

qs

qs 是querystring的增强版本,最重要的特性就是支持内嵌对象和数组:

const qs = require('qs');
qs.parse('foo[bar]=1&baz[]=2');
// { foo: { bar: '1' }, baz: [ '2' ] }

参考资料

https://github.com/ljharb/qs

iconv-lite 库

我们的程序与外部系统对接时,输入输出的数据经常需要做编码转换,因为JavaScript采用的编码是Unicode,而外部系统的数据编码可能是多种多样的,比如Windows上的汉字编码使用的是GBK。

准确地说,JavaScript的编码采用的是UCS-2,这是一个很古老的(1990年诞生)有些过时的编码。但是因为UTF-16编码完全兼容UCS-2,所以我们可以“简单”认为JavaScript是Unicode系的。

比如,我们需要使用Node.js做一个爬虫程序,而目标网站页面编码是GBK(那一定是一个古老的站点),我们抓取过来的汉字内容直接输出会显示出乱码,为了能够正常识别这些汉字内容,我们需要将GBK编码Buffer转换为JavaScript的Unicode。

iconv 是Linux系统上非常著名的库,它可以将数据在任何编码间互转。今天我们要了解的iconv-lite只是一个简单版本,但已经足够我们使用。

const iconv = require('iconv-lite');
// 将Unicode字符串转换为GBK编码的Buffer
let buf = iconv.encode("汉字", 'GBK');
// 这样会输出乱码
console.log(buf.toString());
// 将GBK编码的Buffer数据转换为Unicode字符串
let str = iconv.decode(buf, 'GBK');
// 正常输出 “汉字”
console.log(str);

参考资料

https://github.com/ashtuchkin...

以上就是node NPM库qs iconv-lite字符串编码转换及解析URL查询学习的详细内容,更多关于node NPM库qs iconv-lite的资料请关注脚本之家其它相关文章!

相关文章

  • Nodejs实现多文件夹文件同步

    Nodejs实现多文件夹文件同步

    这篇文章主要为大家介绍了Nodejs实现多文件夹文件同步,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • 使用upstart把nodejs应用封装为系统服务实例

    使用upstart把nodejs应用封装为系统服务实例

    这篇文章主要介绍了使用upstart把nodejs应用封装为系统服务实例,需要的朋友可以参考下
    2014-06-06
  • 搭建基于express框架运行环境的方法步骤

    搭建基于express框架运行环境的方法步骤

    Express提供了一个轻量级模块,把Node.js的http模块功能封装在一个简单易用的接口中,这篇文章主要介绍了搭建基于express框架运行环境的方法步骤,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • nodejs编写bash脚本的终极方案分享

    nodejs编写bash脚本的终极方案分享

    你懂JavaScript吗?你需要写一个Shell脚本吗?那么你应该试一下Node.js,它很容易安装,而且很适合通过写Shell脚本来学习它,下面这篇文章主要给大家介绍了关于nodejs编写bash脚本的终极方案,需要的朋友可以参考下
    2021-08-08
  • Node.js重新刷新session过期时间的方法

    Node.js重新刷新session过期时间的方法

    在Node.js中,我们通常使用express-session这个包来使用和管理session,保存服务端和客户端浏览器之间的会话状态。那如何才能实现当用户刷新当前页面或者点击页面上的按钮时重新刷新session的过期时间呢,接下来通过本文一起学习吧
    2016-02-02
  • Nodejs本地部署DeepSeek的教程详解

    Nodejs本地部署DeepSeek的教程详解

    DeepSeek作为一款开源且性能强大的大语言模型,提供了灵活的本地部署方案,让用户能够在本地环境中高效运行模型,同时保护数据隐私,本文主要为大家详细介绍了Nodejs本地部署DeepSeek的相关知识,需要的可以了解下
    2025-02-02
  • 前端需知nodejs express中间件使用及定义详解

    前端需知nodejs express中间件使用及定义详解

    这篇文章主要为大家介绍了前端需知nodejs express中间件使用及定义详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • node.js发送邮件email的方法详解

    node.js发送邮件email的方法详解

    这篇文章主要介绍了node.js发送邮件email的方法,结合实例形式详细分析了node.js发送邮件的原理、操作步骤、注意事项及常见问题解决方法,需要的朋友可以参考下
    2017-01-01
  • node.js中process进程的概念和child_process子进程模块的使用方法示例

    node.js中process进程的概念和child_process子进程模块的使用方法示例

    这篇文章主要介绍了node.js中process进程的概念和child_process子进程模块的使用方法,结合实例形式分析了node.js中process进程和child_process子进程模块相关概念、原理、使用方法及操作注意事项,需要的朋友可以参考下
    2020-02-02
  • node.js读取文件到字符串的方法

    node.js读取文件到字符串的方法

    这篇文章主要介绍了node.js读取文件到字符串的方法,涉及readFileSync方法的使用技巧,需要的朋友可以参考下
    2015-06-06

最新评论