インターネットの急速な発展に伴い、テキストを表すために Unicode エンコード (UTF-8 など) を使用する Web サイトがますます増えています。しかし、中国では、特に一部の古い Web サイトでは GBK エンコーディングが依然として一般的な文字エンコーディング方法です。フロントエンドエンジニアにとって、GBKでエンコードされた文字化けへの対処方法を理解することは非常に必要です。この記事では、JavaScript で GBK エンコードを処理するいくつかの方法を紹介し、対応するサンプル コードを示します。
1. GBK エンコードの概要
GBK エンコードは、1 文字を 2 バイトで表現する 2 バイト文字エンコード方式で、一般に中国語の文字や記号を表現するために使用されます。中国の国家標準 GB2312 によると、GBK エンコードには GB2312 文字セットが含まれており、また、多数の中国語の文字と記号も含まれています。
2. GBK エンコードの問題
GBK エンコードは Unicode エンコードと互換性がないため、GBK エンコードされたテキストを JavaScript で直接処理すると、次の図に示すように文字化けが発生します。
##3. GBK エンコーディングを Unicode エンコーディングに変換するコード文字化けの問題を解決するには、GBK エンコーディングを Unicode エンコーディングに変換する必要があります。 JavaScript では、「GBK」というライブラリを使用して変換を行うことができます。 まず、「GBK」ライブラリをインストールする必要があります。これは、コンソールで次のコマンドを使用して実行できます:npm install gbk
const gbk = require('gbk'); const gbkStr = 'GBK编码字符串'; const unicodeStr = gbk.toString('ucs2', gbkStr); console.log(unicodeStr);
const gbk = require('gbk'); const unicodeStr = 'Unicode编码字符串'; const gbkStr = gbk.toString('gbk', unicodeStr, 0); console.log(gbkStr);
const iconv = require('iconv-lite'); const gbkStr = 'GBK编码字符串'; const unicodeStr = iconv.decode(Buffer.from(gbkStr, 'binary'), 'gbk'); console.log(unicodeStr);
const iconv = require('iconv-lite'); const unicodeStr = 'Unicode编码字符串'; const gbkStr = iconv.encode(unicodeStr, 'gbk').toString('binary'); console.log(gbkStr);
以上がJavaScript で GBK エンコードを処理するいくつかの方法について話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。