使用iconv-lite解决node当中不支持GBK编码的问题
1、Node環(huán)境當中不支持GBK編碼
node.js當中的Buffer對象支持的編碼格式的種類有限,大概有ascii、utf8、utf16le、ucs2、base64、binary、hex。不支持GBK的編碼形式。對于windows系統(tǒng)來說,由于歷史原因,許多文件默認的編碼格式均為GBK。
比如我們在windows系統(tǒng)性新建一個文本文檔,在其內部編輯完中文內容之后,在設置保存時,可以看到其默認的編碼格式為ANSI,即為GBK。
將這個以GBK編碼格式編輯的文本文件移動到項目文件夾當中,使用node當中的fs模塊對其進行讀取其文本內容。由于不支持GBK的編碼,故會出現如下報錯信息。
對于那些我們無法改變其編碼格式的文件,又需要使用node來操作其文件內容的,我們需要引用iconv-lite來幫助我們解決編碼轉換的問題。
2、iconv-lite的使用
iconv-lite用于在node當中處理在各種操作系統(tǒng)出現的各種奇特編碼,該模塊不提供讀寫文件的操作,只提供文件編碼轉換的功能。
1、下載模塊包
在當前項目文件夾的目錄下打開cmd,在控制臺輸入命令->npm install iconv-lite。
2、引包并使用
使用const iconvLite = require('iconv-lite');來引用。在fs模塊讀取文件結束之后的回調函數當中,對于data參數(對應文件的內容)的處理為iconvLite.decode(data,'gbk');。即代表對于默認為buffer形式的data當中的內容以gbk的形式解碼成一個默認為utf8編碼格式的字符串。
總結
以上是生活随笔為你收集整理的使用iconv-lite解决node当中不支持GBK编码的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机网络和传统电话网络的最大区别是,传
- 下一篇: 计算机组成原理tec9,(15-16-2