日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用iconv-lite解决node当中不支持GBK编码的问题

發(fā)布時間:2023/12/19 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用iconv-lite解决node当中不支持GBK编码的问题 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1、Node環(huán)境當(dāng)中不支持GBK編碼

node.js當(dāng)中的Buffer對象支持的編碼格式的種類有限,大概有ascii、utf8、utf16le、ucs2、base64、binary、hex。不支持GBK的編碼形式。對于windows系統(tǒng)來說,由于歷史原因,許多文件默認的編碼格式均為GBK。

比如我們在windows系統(tǒng)性新建一個文本文檔,在其內(nèi)部編輯完中文內(nèi)容之后,在設(shè)置保存時,可以看到其默認的編碼格式為ANSI,即為GBK。

將這個以GBK編碼格式編輯的文本文件移動到項目文件夾當(dāng)中,使用node當(dāng)中的fs模塊對其進行讀取其文本內(nèi)容。由于不支持GBK的編碼,故會出現(xiàn)如下報錯信息。

對于那些我們無法改變其編碼格式的文件,又需要使用node來操作其文件內(nèi)容的,我們需要引用iconv-lite來幫助我們解決編碼轉(zhuǎn)換的問題。

2、iconv-lite的使用

iconv-lite用于在node當(dāng)中處理在各種操作系統(tǒng)出現(xiàn)的各種奇特編碼,該模塊不提供讀寫文件的操作,只提供文件編碼轉(zhuǎn)換的功能。
1、下載模塊包
在當(dāng)前項目文件夾的目錄下打開cmd,在控制臺輸入命令->npm install iconv-lite。

2、引包并使用
使用const iconvLite = require('iconv-lite');來引用。在fs模塊讀取文件結(jié)束之后的回調(diào)函數(shù)當(dāng)中,對于data參數(shù)(對應(yīng)文件的內(nèi)容)的處理為iconvLite.decode(data,'gbk');。即代表對于默認為buffer形式的data當(dāng)中的內(nèi)容以gbk的形式解碼成一個默認為utf8編碼格式的字符串。

總結(jié)

以上是生活随笔為你收集整理的使用iconv-lite解决node当中不支持GBK编码的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。