首页 >web前端 >前端问答 >nodejs中怎么将编码gbk转为utf8

nodejs中怎么将编码gbk转为utf8

青灯夜游
青灯夜游原创
2021-09-16 12:19:295485浏览

转换方法:1、用“new TextDecoder('gbk').decode(new Uint8Array([...]).buffer)”语句;2、利用“iconv.decode(Buffer.from([...]), 'gbk')”语句。

nodejs中怎么将编码gbk转为utf8

本教程操作环境:windows7系统、nodejs 14.15.4版,DELL G3电脑。

js 与 nodejs 都有 TextEncoder TextDecoder ,可以进行编码之间的转换

nodejs 版本需要 >=8.3.0 才支持 util.TextEncoder,util.TextDecoder

gbk 转 utf8

new TextDecoder('gbk').decode(new Uint8Array([ 47, 63, 214, 208, 206, 196, 61, 56, 56 ]).buffer)
// out:  "/?中文=88"

nodejs 建议通过 iconv or iconv-lite第三方库进行编码之间的转换。因为使用原生 TextEncoder需要完整的 ICU Data 具体看这里 util_class_util_textdecoder

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"

【推荐学习:《nodejs 教程》】

以上是nodejs中怎么将编码gbk转为utf8的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn