ホームページ >ウェブフロントエンド >フロントエンドQ&A >Nodejs Unicodeトランスコーディング

Nodejs Unicodeトランスコーディング

王林
王林オリジナル
2023-05-08 19:21:091255ブラウズ

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");

コンソール。 log(str); // Chinese

「ucs2」エンコードを使用する場合、各 Unicode コード ポイントは 16 ビット コード単位で表されることに注意してください。 Unicode コード ポイントが 0xFFFF より大きい場合は、UTF-16BE や UTF-16LE などの別のエンコーディングを使用する必要があります。

結論

Node.js には Unicode のサポートが組み込まれているため、Unicode のエンコードとデコードを簡単かつ簡単に処理できます。 JavaScript の組み込み Unicode サポートを使用することも、Node.js の Buffer オブジェクトを変換に使用することもできます。どの方法を使用する場合でも、Unicode シーケンスの操作は迅速かつ簡単です。

以上がNodejs Unicodeトランスコーディングの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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