轉(zhuǎn)換方法:1、用“new TextDecoder('gbk').decode(new Uint8Array([…]).buffer)”語句;2、利用“iconv.decode(Buffer.from([…]), 'gbk')”語句。
本教程操作環(huán)境:windows7系統(tǒng)、nodejs 14.15.4版,DELL G3電腦。
js 與 nodejs 都有 TextEncoder
TextDecoder
,可以進(jìn)行編碼之間的轉(zhuǎn)換
nodejs 版本需要 >=8.3.0 才支持 util.TextEncoder,util.TextDecoder
gbk 轉(zhuǎn) utf8
new TextDecoder('gbk').decode(new Uint8Array([ 47, 63, 214, 208, 206, 196, 61, 56, 56 ]).buffer) // out: "/?中文=88"
nodejs 建議通過 iconv or iconv-lite第三方庫進(jìn)行編碼之間的轉(zhuǎn)換。因為使用原生 TextEncoder需要完整的 ICU Data 具體看這里 util_class_util_textdecoder
utf8 gbk 互轉(zhuǎn)
let iconv = require('iconv-lite'); // 這里是utf8 let str = '/?中文=88'; // utf8轉(zhuǎn)換成gbk let encoded = iconv.encode(str, 'gbk'); console.log(encoded,encoded.toJSON()) // gbk轉(zhuǎn)換成utf8 str = iconv.decode(Buffer.from([ 47, 63, 214, 208, 206, 196, 61, 56, 56 ]), 'gbk'); console.log('utf8 str:',str) // out: Buffer <2F, 3F, D6, D0, CE, C4, 3D, 38, 38> // Object {data: [47, 63, 214, 208, 206, 196, 61, 56, 56], type: "Buffer"} // utf8 str: "/?中文=88"
【推薦學(xué)習(xí):《nodejs 教程》】