Nodejs ist eine sehr leistungsstarke Back-End-JavaScript-Lösung, die häufig in der serverseitigen Programmierung verwendet wird. Der Puffertyp ist auch eine der wichtigen Funktionen von Nodejs.
In Nodejs wird das Pufferobjekt hauptsächlich zum Verarbeiten von Binärdaten verwendet. Daher wird es normalerweise in Szenarien wie Netzwerkkommunikation und Datenpersistenz (z. B. Lesen und Schreiben von Dateien) verwendet.
Bei der tatsächlichen Arbeit stoßen wir häufig auf Szenarien, in denen wir Daten vom Puffertyp in JavaScript in einen numerischen Typ konvertieren müssen. In diesem Artikel wird daher die Lösung für dieses Problem vorgestellt.
In Nodejs ist das Konvertieren von Binärdaten in eine Dezimalzahl sehr einfach. Verwenden Sie einfach die readInt-Methode der Buffer-Klasse. Zu den von der readInt-Methode unterstützten Parametern gehören die Anzahl der Bytes, der Offset und ob vorzeichenlose Ganzzahlen verwendet werden sollen.
Zum Beispiel können Sie für 8-Byte-Pufferdaten die folgende Anweisung verwenden, um sie in eine Dezimalzahl umzuwandeln:
let buffer = Buffer.from([0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF]); let number = buffer.readIntBE(0, 8); console.log(number); //输出为78187493520
Im obigen Code wird die Buffer.from-Methode verwendet, um ein Buffer-Objekt mit a zu erstellen Länge von 8 Byte. Verwenden Sie dann die Methode readIntBE, um es in eine Dezimalzahl zu verarbeiten.
Zusätzlich zur Verarbeitung von Pufferdaten in Dezimalzahlen können Sie diese auch in Hexadezimalzahlen verarbeiten. Dies kann durch die toString-Methode erreicht werden, die mit Nodejs geliefert wird.
let buffer = Buffer.from([0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF]); let hex = buffer.toString('hex'); console.log(hex); // 输出为:1234567890abcdef
Es ist zu beachten, dass bei der Verarbeitung von Pufferobjekten als Zahlen die Bytereihenfolge der Daten berücksichtigt werden muss. Normalerweise müssen wir die Bytereihenfolge der Daten basierend auf der Quelle und den Nutzungsanforderungen der Daten bestimmen.
In Nodejs können Sie die gängigen BE- und LE-Methoden verwenden, um die Bytereihenfolge zu bestimmen. BE bezieht sich auf die Big-Endian-Reihenfolge und LE bezieht sich auf die Little-Endian-Reihenfolge.
BE: Speichern Sie Daten in der Reihenfolge vom High-Byte zum Low-Byte, d. h. High-Byte zuerst und Low-Byte zuletzt.
LE: Speichern Sie Daten in der Reihenfolge vom Low-Byte zum High-Byte, d. h. Low-Byte zuerst und High-Byte zuletzt.
Für 2-Byte-Pufferdaten ist beispielsweise einer BE und einer LE:
let BE_Buffer = Buffer.from([0x12, 0x34]); let LE_Buffer = Buffer.from([0x34, 0x12]); console.log(BE_Buffer.readIntBE(0, 2)); // 输出为: 4660 console.log(BE_Buffer.readUIntBE(0, 2)); // 输出为: 4660 console.log(LE_Buffer.readIntLE(0, 2)); // 输出为: 4660 console.log(LE_Buffer.readUIntLE(0, 2)); // 输出为: 4660
Das Konvertieren von Puffertypdaten in einen numerischen Typ in JavaScript ist eine der am häufigsten verwendeten Operationen in Nodejs . Durch den Einsatz verschiedener Dekodierungsmethoden können die Bytereihenfolge, Big- und Small-Endianness und andere Attribute der Daten korrekt identifiziert und in Zahlen umgewandelt werden, wodurch die Korrektheit der Daten beim Übertragen, Speichern, Lesen usw. sichergestellt wird.
Die oben beschriebene Methode zum Konvertieren des Puffertyps in einen numerischen Typ in Nodejs wird Ihnen hoffentlich weiterhelfen.
Das obige ist der detaillierte Inhalt vonNodeJS-Puffer zu Nummer. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!