Kaedah penukaran: 1. Gunakan pernyataan "New TextDecoder('gbk').decode(new Uint8Array([...]).buffer)"; 2. Gunakan "iconv.decode(Buffer.from ( [...]), 'gbk')" kenyataan.
Persekitaran pengendalian tutorial ini: sistem Windows 7, nodejs versi 14.15.4, komputer DELL G3.
js dan nodejs kedua-duanya mempunyai TextEncoder
TextDecoder
, yang boleh menukar antara pengekodan
versi nodejs memerlukan >=8.3.0 untuk menyokong util .TextDecoder
gbk ke utf8
new TextDecoder('gbk').decode(new Uint8Array([ 47, 63, 214, 208, 206, 196, 61, 56, 56 ]).buffer) // out: "/?中文=88"
nodejs mengesyorkan menggunakan ikonv atau 🎜>iconv-lite Pustaka pihak ketiga untuk menukar antara pengekodan. Kerana menggunakan TextEncoder asli memerlukan Data ICU yang lengkap, lihat di sini untuk mendapatkan butiranutil_class_util_textdecoder
penukaran utf8 gbk
let iconv = require('iconv-lite'); // 这里是utf8 let str = '/?中文=88'; // utf8转换成gbk let encoded = iconv.encode(str, 'gbk'); console.log(encoded,encoded.toJSON()) // gbk转换成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"
tutorial nodejs"]
Atas ialah kandungan terperinci Bagaimana untuk menukar pengekodan gbk ke utf8 dalam nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!