Bagaimana untuk menukar pengekodan gbk ke utf8 dalam nodejs

青灯夜游
Lepaskan: 2023-01-11 09:20:34
asal
5459 orang telah melayarinya

Kaedah penukaran: 1. Gunakan pernyataan "New TextDecoder('gbk').decode(new Uint8Array([...]).buffer)"; 2. Gunakan "iconv.decode(Buffer.from ( [...]), 'gbk')" kenyataan.

Bagaimana untuk menukar pengekodan gbk ke utf8 dalam nodejs

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"
Salin selepas log masuk

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"
Salin selepas log masuk
[Pembelajaran yang disyorkan: "

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan