成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

NPM酷庫(kù)039:iconv-lite,字符串編碼轉(zhuǎn)換

whidy / 1369人閱讀

摘要:酷庫(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-lite

iconv 是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

相關(guān)文章

  • Node.js 解決 csv 亂碼問(wèn)題

    摘要:而且下載的內(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...

    yuanzhanghu 評(píng)論0 收藏0
  • Windows 下的 electron 開(kāi)發(fā)筆記一

    前言 根據(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...

    Michael_Ding 評(píng)論0 收藏0
  • 代碼組織和部署 文件操作 node.js

    代碼組織和部署 模塊的路徑解析規(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ì)先尋找該目...

    Cc_2011 評(píng)論0 收藏0
  • Node.js讀取文件亂碼問(wèn)題

    摘要:先說(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系...

    jzman 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<