摘要:酷庫,每天兩分鐘,了解一個流行庫。準確地說,的編碼采用的是,這是一個很古老的年誕生有些過時的編碼。是系統(tǒng)上非常著名的庫,它可以將數(shù)據(jù)在任何編碼間互轉(zhuǎn)。將字符串轉(zhuǎn)換為編碼的漢字這樣會輸出亂碼將編碼的數(shù)據(jù)轉(zhuǎn)換為字符串正常輸出漢字參考資料
NPM酷庫,每天兩分鐘,了解一個流行NPM庫。·
我們的程序與外部系統(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-liteiconv 是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...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/107345.html
摘要:而且下載的內(nèi)容如果有中文字符的話還有亂碼的現(xiàn)象。接下來就是介紹一下兩個庫可以解決我們的問題,一個是可以通過的數(shù)據(jù)去生成文件的內(nèi)容,然后在,另外一個庫則是用來把內(nèi)容的編碼轉(zhuǎn)換為格式,這樣一來就能夠解決中文亂碼的問題。 前言 之前有個項目中使用到了一個前端的download.js庫,主要是用來拼接內(nèi)容然后生成一個.txt或者.csv等文件讓用戶下載,不過目前這個庫不支持了chrome和sa...
前言 根據(jù)公司業(yè)務需求,使用 electron 開發(fā)桌面 BrowserWindow 應用。 參考 API:Electron 文檔 安裝與配置 安裝工具 node(LTS版)git 命令行工具 搭建項目 初始化: $ npm init 安裝 electron: $ npm install electron --save-dev 軟件打包 安裝打包工具: $ npm install --save...
代碼組織和部署 模塊的路徑解析規(guī)則 require支持/或者盤符的絕對路徑,也支持./開頭的相對地址同時require也支持第三種寫法 內(nèi)置模塊 如果傳遞給require的函數(shù)是node.js的內(nèi)置模塊,將會不做路徑解析,直接返回內(nèi)部exports模塊要導出的對象 node_modules目錄 node.js定義一個node_modules存放模塊,每次使用foo/bar的方式的時候,會先尋找該目...
摘要:先說點什么終于正式開始鼓搗了新的踩坑也就開始了進入正題產(chǎn)生原因系統(tǒng)下默認的編碼格式是而在和系統(tǒng)上默認的是再有就是異步讀取文件時不能保證文件的存貯的編碼格式解決方法將讀取的源文件格式儲存為編碼格式,讀取源文件的文件也儲存為編碼格式安裝模 先說點什么 終于正式開始鼓搗Node了,新的踩坑也就開始了 進入正題 產(chǎn)生原因 Windows系統(tǒng)下默認的編碼格式是ASNI,而在Node和linux系...
閱讀 2057·2021-11-22 13:52
閱讀 980·2021-11-17 09:33
閱讀 2711·2021-09-01 10:49
閱讀 2848·2019-08-30 15:53
閱讀 2662·2019-08-29 16:10
閱讀 2437·2019-08-29 11:31
閱讀 1356·2019-08-26 11:40
閱讀 1869·2019-08-26 10:59