ホームページ >ウェブフロントエンド >フロントエンドQ&A >Nodejs Unicodeトランスコーディング
Node.js Unicode トランスコーディング
Node.js での Unicode エンコードとデコードはますます一般的になってきています。 Unicode シーケンスを見つける方法は、多くの一般的なプログラミング言語と比較して簡単です。 JavaScript は、組み込みの UTF-16 エンコーディング メカニズムにより、当然ながら Unicode 文字列をサポートします。この記事では、Node.js で Unicode エンコードとデコードを使用する方法について説明します。
Unicode の概要
Unicode は、すべての文字セットをカバーし、それらに一意の数値コード ポイントを割り当てるように設計された文字エンコーディングです。これは、Unicode を使用して、一般的な文字か珍しい文字かに関係なく、あらゆる言語のほぼすべての文字を表現できることを意味します。絵文字やさまざまな記号もサポートしています。 Unicode は、16 ビットまたは 32 ビットのコード単位を使用して、すべての文字をコード ポイントと呼ばれる数値として表します。
JavaScript での Unicode の使用
JavaScript には Unicode のサポートが組み込まれています。 JavaScript では、文字列の格納に UTF-16 エンコード メカニズムが使用され、Unicode コード ポイント (x は 16 進数) を表すために u xxxx および u{xxxxx} 構文が許可されます。たとえば、漢字「中」を表す Unicode コード ポイントの例: u4e2d と u{4e2d} を次に示します。
const str1 = "u4e2d";
const str2 = "u{4e2d}";
console.log(str1); //
console.log(str2) ); // Medium
Node.js での Unicode の使用
Node.js では、Buffer オブジェクトを使用して Unicode のエンコードとデコードを処理することもできます。 Buffer は、各要素が 0 ~ 255 の値を持つ符号なし整数の配列と考えることができますが、toString メソッドを使用すると、文字列を Unicode としてデコードする方法で内容を解釈できます。
一般的な要件は、Unicode 文字列を UTF-8 エンコードのバイト配列に変換することです。これは、文字列を Buffer メソッドに渡すことで実行できます:
const str = "Node.js はクールです";
const buff = Buffer.from(str, "utf-8");
console.log(buff); //
同様に、Buffer オブジェクトを使用して UTF を変換できます。 -8 エンコードされたバイト配列を対応する Unicode 文字列に変換します。これは、toString メソッドを使用し、エンコーディングを「utf-8」として渡すことで実行できます。
const buff = Buffer.from([0x4e, 0x6f, 0x64, 0x65, 0x2e, 0x6a, 0x73, 0x20, 0x69, 0x73, 0x20, 0x63, 0x6f, 0x6f, 0x6c]);
const str = buff.toString("utf-8");
console.log(str); // ノード。 js は素晴らしいです
Node.js で UTF-16 エンコーディングを使用するのも簡単です。文字列に対してバッファ メソッドを直接使用し、エンコード タイプを「utf-16le」または「ucs2」として指定できます。
const str = "中国語";
const buff = Buffer.from(str , "ucs2");
console.log(buff); //
UTF-16 でエンコードされたバイト配列を Unicode 文字に変換します。
##const buff = Buffer.from([0xe4, 0xb8, 0xad, 0xe6, 0x96, 0x87]);const str = buff.toString("ucs2");
以上がNodejs Unicodeトランスコーディングの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。