ホームページ  >  記事  >  ウェブフロントエンド  >  Nodejsでエンコーディングgbkをutf8に変換する方法

Nodejsでエンコーディングgbkをutf8に変換する方法

青灯夜游
青灯夜游オリジナル
2021-09-16 12:19:295449ブラウズ

変換方法: 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 または iconv-lite サードパーティのライブラリは、エンコーディング間の変換を実行します。ネイティブ TextEncoder を使用するには完全な ICU データが必要であるため、詳細についてはここを参照してください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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。