node?NPM庫qs?iconv-lite字符串編碼轉(zhuǎn)換及解析URL查詢學習
NPM酷庫
每天兩分鐘,了解一個流行NPM庫。
querystring庫
Node.js 標準庫中有一個庫叫querystring,這個庫用來處理URL查詢字符串:
const querystring = require('querystring');
querystring.parse('foo=bar&baz=1');
// { foo:'bar', baz: '1' }但是很遺憾,querystring 不支持內(nèi)嵌對象和數(shù)組:
const querystring = require('querystring');
querystring.parse('foo[bar]=1&baz[]=2');
// { 'foo[bar]': '1', 'baz[]': '2' }如果我們程序的前端界面form表單中存在數(shù)組,標準庫的querystring就無法滿足我們的需求了。
qs
qs 是querystring的增強版本,最重要的特性就是支持內(nèi)嵌對象和數(shù)組:
const qs = require('qs');
qs.parse('foo[bar]=1&baz[]=2');
// { foo: { bar: '1' }, baz: [ '2' ] }參考資料
iconv-lite 庫

我們的程序與外部系統(tǒng)對接時,輸入輸出的數(shù)據(jù)經(jīng)常需要做編碼轉(zhuǎn)換,因為JavaScript采用的編碼是Unicode,而外部系統(tǒng)的數(shù)據(jù)編碼可能是多種多樣的,比如Windows上的漢字編碼使用的是GBK。
準確地說,JavaScript的編碼采用的是UCS-2,這是一個很古老的(1990年誕生)有些過時的編碼。但是因為UTF-16編碼完全兼容UCS-2,所以我們可以“簡單”認為JavaScript是Unicode系的。
比如,我們需要使用Node.js做一個爬蟲程序,而目標網(wǎng)站頁面編碼是GBK(那一定是一個古老的站點),我們抓取過來的漢字內(nèi)容直接輸出會顯示出亂碼,為了能夠正常識別這些漢字內(nèi)容,我們需要將GBK編碼Buffer轉(zhuǎn)換為JavaScript的Unicode。
iconv 是Linux系統(tǒng)上非常著名的庫,它可以將數(shù)據(jù)在任何編碼間互轉(zhuǎn)。今天我們要了解的iconv-lite只是一個簡單版本,但已經(jīng)足夠我們使用。
const iconv = require('iconv-lite');
// 將Unicode字符串轉(zhuǎn)換為GBK編碼的Buffer
let buf = iconv.encode("漢字", 'GBK');
// 這樣會輸出亂碼
console.log(buf.toString());
// 將GBK編碼的Buffer數(shù)據(jù)轉(zhuǎn)換為Unicode字符串
let str = iconv.decode(buf, 'GBK');
// 正常輸出 “漢字”
console.log(str);參考資料
https://github.com/ashtuchkin...
以上就是node NPM庫qs iconv-lite字符串編碼轉(zhuǎn)換及解析URL查詢學習的詳細內(nèi)容,更多關(guān)于node NPM庫qs iconv-lite的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
學習使用grunt來打包JavaScript和CSS程序的教程
這篇文章主要介紹了學習使用grunt來打包JavaScript和CSS程序的教程,grunt基于node.js和需要的朋友可以參考下2016-01-01
nodejs版本過高導致vue2版本的項目無法正常啟動的解決方案
這篇文章主要給大家介紹了關(guān)于nodejs版本過高導致vue2版本的項目無法正常啟動的解決方案,本文小編給大家詳細介紹了如何解決這個問題,如有遇到同樣問題的朋友可以參考下2023-11-11
基于NodeJS的前后端分離的思考與實踐(四)安全問題解決方案
本文就在前后端分離模式的架構(gòu)下,針對前端在Web開發(fā)中,所遇到的安全問題以及應(yīng)對措施和注意事項,并提出解決方案。2014-09-09
快速掌握Node.js之Window下配置NodeJs環(huán)境
快速掌握Node.js之Window下配置NodeJs環(huán)境,如何在Window下快速配置NodeJs環(huán)境,感興趣的小伙伴們可以參考一下2016-03-03
koa+mongoose實現(xiàn)簡單增刪改查接口的示例代碼
這篇文章主要介紹了koa+mongoose實現(xiàn)簡單增刪改查接口的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-05-05

