Heim  >  Artikel  >  Web-Frontend  >  NodeJS-Unicode-Transkodierung

NodeJS-Unicode-Transkodierung

王林
王林Original
2023-05-08 19:21:091054Durchsuche

Node.js-Unicode-Transkodierung

Unicode-Kodierung und -Dekodierung in Node.js wird immer häufiger. Die Methode zum Auffinden von Unicode-Sequenzen ist im Vergleich zu vielen gängigen Programmiersprachen einfach. JavaScript unterstützt aufgrund seines integrierten UTF-16-Codierungsmechanismus natürlich Unicode-Strings. In diesem Artikel erfahren Sie, wie Sie die Unicode-Kodierung und -Dekodierung in Node.js verwenden.

Einführung in Unicode

Unicode ist eine Zeichenkodierung, die alle Zeichensätze abdeckt und ihnen eindeutige numerische Codepunkte zuweist. Das bedeutet, dass Unicode zur Darstellung fast aller Zeichen in jeder Sprache verwendet werden kann, unabhängig davon, ob es sich um häufige oder seltene Zeichen handelt. Es unterstützt auch Emoji und verschiedene Symbole. Unicode verwendet 16-Bit- oder 32-Bit-Codeeinheiten, um alle Zeichen als Zahlen darzustellen, sogenannte Codepunkte.

Unicode in JavaScript verwenden

JavaScript verfügt über eine integrierte Unterstützung für Unicode. In JavaScript wird der UTF-16-Kodierungsmechanismus zum Speichern von Zeichenfolgen verwendet, und die Syntax u xxxx und u{xxxxx} darf Unicode-Codepunkte darstellen (wobei x eine Hexadezimalzahl ist). Hier sind beispielsweise Beispiele für Unicode-Codepunkte, die das chinesische Zeichen „中“ darstellen: u4e2d und u{4e2d}.

const str1 = "u4e2d";
const str2 = "u{4e2d}";

console.log(str1); // in
console.log(str2); // in

in Node.js Working mit Unicode

In Node.js können Sie auch Pufferobjekte verwenden, um die Unicode-Kodierung und -Dekodierung zu handhaben. Man kann sich Buffer als ein Array von vorzeichenlosen Ganzzahlen vorstellen, wobei jedes Element einen Wert zwischen 0 und 255 hat, aber die toString-Methode kann verwendet werden, um den Inhalt so zu interpretieren, dass die Zeichenfolge als Unicode dekodiert wird.

Eine häufige Anforderung ist die Konvertierung von Unicode-Strings in Byte-Arrays in UTF-8-Codierung. Dies kann durch Übergabe einer Zeichenfolge an die Buffer-Methode erfolgen:

const str = "Node.js is cool";
const buff = Buffer.from(str, "utf-8");

console.log( buff ); //

Ähnlich kann ein Buffer-Objekt verwendet werden, um ein UTF-8-codiertes Byte-Array in die entsprechende Unicode-Zeichenfolge zu konvertieren. Dies kann durch die Verwendung der toString-Methode und die Übergabe der Kodierung als „utf-8“ erfolgen:

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); // Node.js ist cool

in Node.js Es ist auch einfach zu verwendende UTF-16-Kodierung. Sie können die Puffermethode direkt für die Zeichenfolge verwenden und den Codierungstyp als „utf-16le“ oder „ucs2“ angeben:

const str = „Chinese“;
const buff = Buffer.from(str, „ucs2“);

console.log(buff); //

UTF-16-codiertes Byte-Array in Unicode-String konvertieren:

const buff = Buffer.from([0xe4, 0xb8, 0xad, 0xe6, 0x96, 0x87]);
const str = buff.toString("ucs2");

console.log(str); // Chinesisch

Beachten Sie, dass bei Verwendung der „ucs2“-Kodierung alle Unicode-Codepunkte dargestellt werden unter Verwendung von 16-Bit-Codeeinheiten. Wenn der Unicode-Codepunkt größer als 0xFFFF ist, muss eine andere Kodierung verwendet werden, beispielsweise UTF-16BE oder UTF-16LE.

Fazit

Node.js verfügt über eine integrierte Unterstützung für Unicode, was den Umgang mit der Unicode-Kodierung und -Dekodierung einfach und unkompliziert macht. Sie können die integrierte Unicode-Unterstützung in JavaScript verwenden oder das Buffer-Objekt in Node.js zur Konvertierung verwenden. Unabhängig davon, welche Methode Sie verwenden, ist die Verarbeitung von Unicode-Sequenzen schnell und einfach.

Das obige ist der detaillierte Inhalt vonNodeJS-Unicode-Transkodierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:nodejs8.4-InstallationNächster Artikel:nodejs8.4-Installation