摘要:酷庫(kù),每天兩分鐘,了解一個(gè)流行庫(kù)。準(zhǔn)確地說(shuō),的編碼采用的是,這是一個(gè)很古老的年誕生有些過(guò)時(shí)的編碼。是系統(tǒng)上非常著名的庫(kù),它可以將數(shù)據(jù)在任何編碼間互轉(zhuǎn)。將字符串轉(zhuǎn)換為編碼的漢字這樣會(huì)輸出亂碼將編碼的數(shù)據(jù)轉(zhuǎn)換為字符串正常輸出漢字參考資料
NPM酷庫(kù),每天兩分鐘,了解一個(gè)流行NPM庫(kù)?!?/p>
我們的程序與外部系統(tǒng)對(duì)接時(shí),輸入輸出的數(shù)據(jù)經(jīng)常需要做編碼轉(zhuǎn)換,因?yàn)镴avaScript采用的編碼是Unicode,而外部系統(tǒng)的數(shù)據(jù)編碼可能是多種多樣的,比如Windows上的漢字編碼使用的是GBK。
準(zhǔn)確地說(shuō),JavaScript的編碼采用的是UCS-2,這是一個(gè)很古老的(1990年誕生)有些過(guò)時(shí)的編碼。但是因?yàn)閁TF-16編碼完全兼容UCS-2,所以我們可以“簡(jiǎn)單”認(rèn)為JavaScript是Unicode系的。
比如,我們需要使用Node.js做一個(gè)爬蟲(chóng)程序,而目標(biāo)網(wǎng)站頁(yè)面編碼是GBK(那一定是一個(gè)古老的站點(diǎn)),我們抓取過(guò)來(lái)的漢字內(nèi)容直接輸出會(huì)顯示出亂碼,為了能夠正常識(shí)別這些漢字內(nèi)容,我們需要將GBK編碼Buffer轉(zhuǎn)換為JavaScript的Unicode。
iconv-liteiconv 是Linux系統(tǒng)上非常著名的庫(kù),它可以將數(shù)據(jù)在任何編碼間互轉(zhuǎn)。今天我們要了解的iconv-lite只是一個(gè)簡(jiǎn)單版本,但已經(jīng)足夠我們使用。
const iconv = require("iconv-lite"); // 將Unicode字符串轉(zhuǎn)換為GBK編碼的Buffer let buf = iconv.encode("漢字", "GBK"); // 這樣會(huì)輸出亂碼 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)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/107345.html
摘要:而且下載的內(nèi)容如果有中文字符的話還有亂碼的現(xiàn)象。接下來(lái)就是介紹一下兩個(gè)庫(kù)可以解決我們的問(wèn)題,一個(gè)是可以通過(guò)的數(shù)據(jù)去生成文件的內(nèi)容,然后在,另外一個(gè)庫(kù)則是用來(lái)把內(nèi)容的編碼轉(zhuǎn)換為格式,這樣一來(lái)就能夠解決中文亂碼的問(wèn)題。 前言 之前有個(gè)項(xiàng)目中使用到了一個(gè)前端的download.js庫(kù),主要是用來(lái)拼接內(nèi)容然后生成一個(gè).txt或者.csv等文件讓用戶下載,不過(guò)目前這個(gè)庫(kù)不支持了chrome和sa...
前言 根據(jù)公司業(yè)務(wù)需求,使用 electron 開(kāi)發(fā)桌面 BrowserWindow 應(yīng)用。 參考 API:Electron 文檔 安裝與配置 安裝工具 node(LTS版)git 命令行工具 搭建項(xiàng)目 初始化: $ npm init 安裝 electron: $ npm install electron --save-dev 軟件打包 安裝打包工具: $ npm install --save...
代碼組織和部署 模塊的路徑解析規(guī)則 require支持/或者盤(pán)符的絕對(duì)路徑,也支持./開(kāi)頭的相對(duì)地址同時(shí)require也支持第三種寫(xiě)法 內(nèi)置模塊 如果傳遞給require的函數(shù)是node.js的內(nèi)置模塊,將會(huì)不做路徑解析,直接返回內(nèi)部exports模塊要導(dǎo)出的對(duì)象 node_modules目錄 node.js定義一個(gè)node_modules存放模塊,每次使用foo/bar的方式的時(shí)候,會(huì)先尋找該目...
摘要:先說(shuō)點(diǎn)什么終于正式開(kāi)始鼓搗了新的踩坑也就開(kāi)始了進(jìn)入正題產(chǎn)生原因系統(tǒng)下默認(rèn)的編碼格式是而在和系統(tǒng)上默認(rèn)的是再有就是異步讀取文件時(shí)不能保證文件的存貯的編碼格式解決方法將讀取的源文件格式儲(chǔ)存為編碼格式,讀取源文件的文件也儲(chǔ)存為編碼格式安裝模 先說(shuō)點(diǎn)什么 終于正式開(kāi)始鼓搗Node了,新的踩坑也就開(kāi)始了 進(jìn)入正題 產(chǎn)生原因 Windows系統(tǒng)下默認(rèn)的編碼格式是ASNI,而在Node和linux系...
閱讀 2067·2021-11-22 13:52
閱讀 995·2021-11-17 09:33
閱讀 2721·2021-09-01 10:49
閱讀 2858·2019-08-30 15:53
閱讀 2667·2019-08-29 16:10
閱讀 2440·2019-08-29 11:31
閱讀 1370·2019-08-26 11:40
閱讀 1884·2019-08-26 10:59