nodejsとjsのgbkとutf 8符号化変換

1090 ワード

jsとnodejsはともにTextEncoder TextDecoderがあり、符号化間の変換が可能である.
nodejsバージョンが必要です.
gbk回転utf 8
new TextDecoder('gbk').decode(new Uint8Array([ 47, 63, 214, 208, 206, 196, 61, 56, 56 ]).buffer)
// out:  "/?  =88"
nodejsは、iconv or iconv-liteの第三者ライブラリを通じて符号化間の変換を行うことを提案しています.原生Text Encoderを使うためには完全なICU Dataが必要です.ここを具体的に見てください.クラスutilu.text decoder
utf 8 gbk相互回転
let iconv = require('iconv-lite');
//    utf8
let str = '/?  =88';
//    gbk
let encoded = iconv.encode(str, 'gbk');
console.log(encoded,encoded.toJSON())

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"
読んでくれてありがとうございます.本文はsmall white's Blogの著作権によって所有されます.転載するなら、出典を明記してください.small white’s Blog(https://smallwhite.ml/pub/nodejs/nodejs-js-gbk-utf8-encode.html)