国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Inhaltsverzeichnis
Was ist ArrayBuffer? ArrayBuffer ist ein bin?res Datenelement im Speicher und kann nicht verwendet werden Der Speicher selbst muss über
oder
Die Buffer-Klasse in NodeJS ist eigentlich die Implementierung von Uint8Array.
Buffer ist ein Objekt ?hnlich wie Array, wird jedoch haupts?chlich zum Betrieb von Bytes verwendet.
Buffer ist ein Modul, das JS und C++ kombiniert. Der Leistungsteil ist in C++ implementiert, und der Nicht-. Der Leistungsteil ist alles JS. Der vom implementierten
Buffer.alloc(size [, fill [,kodierung]])
Buffer.allocUnsafe(size)
Der Speichermechanismus von Buffer.allocUnsafe
Heim Web-Frontend js-Tutorial Erfahren Sie mehr über Puffer in Node

Erfahren Sie mehr über Puffer in Node

Apr 25, 2023 pm 07:49 PM
Frontend node.js

Erfahren Sie mehr über Puffer in Node

Am Ende des Stream-Kapitels bleibt uns die Frage: Was ist der Chunk, der vom folgenden Code ausgegeben wird?

Erfahren Sie mehr über Puffer in Node

Durch Drucken stellen wir fest, dass Chunk ein Pufferobjekt ist, dessen Elemente hexadezimale zweistellige Zahlen sind, also Werte von 0 bis 255. [Verwandte Tutorial-Empfehlungen: nodejs-Video-Tutorial, Programmierlehre]

Untitled 1.png

erkl?rt, dass die im Stream flie?enden Daten der Puffer sind. Lassen Sie uns also das wahre Gesicht des Puffers erkunden!

Warum wurde Buffer in Node eingeführt?

Am Anfang war es einfach, Unicode-codierte Strings zu verarbeiten, aber es war schwierig, bin?re und nicht Unicode-codierte Strings zu verarbeiten . Und Bin?r ist das Datenformat der niedrigsten Ebene des Computers. Video-/Audio-/Programm-/Netzwerkpakete werden alle im Bin?rformat gespeichert. Daher muss Node ein Objekt einführen, um bin?r zu arbeiten. Daher wurde Buffer geboren, der für TCP-Streams/Dateisysteme und andere Vorg?nge zur Verarbeitung bin?rer Bytes verwendet wird.

Da Buffer in Node zu h?ufig verwendet wird, wurde Buffer beim Start von Node eingeführt. Es besteht keine Notwendigkeit, require() zu verwenden.

Was ist ArrayBuffer? ArrayBuffer ist ein bin?res Datenelement im Speicher und kann nicht verwendet werden Der Speicher selbst muss über

TypedArray-Objekt

oder

DataView

bedient werden. Stellen Sie die Daten im Puffer in einem bestimmten Format dar und lesen und schreiben Sie den Inhalt des Puffers über diese Formate. Es stellt eine Array-Schnittstelle bereit und kann Arrays zum Bearbeiten von Daten verwenden. TypedArray-Ansicht Am h?ufigsten wird die TypeArray-Ansicht verwendet , wird zum Lesen und Schreiben einfacher ArrayBuffer-Typen verwendet, z. B. der Array-Ansicht Uint8Array (8-Bit-Ganzzahl ohne Vorzeichen) und der Array-Ansicht Int16Array (16-Bit-Ganzzahl). Die Beziehung zwischen und Buffer

Die Buffer-Klasse in NodeJS ist eigentlich die Implementierung von Uint8Array.

Pufferstruktur

Buffer ist ein Objekt ?hnlich wie Array, wird jedoch haupts?chlich zum Betrieb von Bytes verwendet.

Modulstruktur

Buffer ist ein Modul, das JS und C++ kombiniert. Der Leistungsteil ist in C++ implementiert, und der Nicht-. Der Leistungsteil ist alles JS. Der vom implementierten

Puffer belegte Speicher wird von V8 nicht zugewiesen und geh?rt zum Off-Heap-Speicher.

Objektstruktur

Untitled 2.pngPufferobjekt ?hnelt einem Array, seine Elemente sind hexadezimale zweistellige Zahlen, also Werte von 0 bis 255

Wie aus diesem Beispiel ersichtlich ist, werden die Bytes von belegt Verschiedene Zeichen im Puffer sind unterschiedlich: Bei der UTF-8-Kodierung belegen Chinesisch 3 Bytes, Englisch und Beschriftungen mit halber Breite 1 Byte. Was passiert, wenn das Eingabeelement eine Dezimalzahl/negative Zahl ist/255 überschreitet? ?

Untitled 3.png

Für die obige Situation ist die Verarbeitung von Buffer wie folgt:

Wenn der dem Element zugewiesene Wert kleiner als 0 ist, addieren Sie nacheinander 256 zum Wert, bis Sie eine Ganzzahl zwischen 0 und 255 erhalten

Wenn Sie erhalten: Wenn der Wert gr??er als 255 ist, subtrahieren Sie einfach 256 nacheinander, bis Sie einen Wert im Bereich von 0 bis 255 erhalten.

Untitled 4.pngWenn es sich um eine Dezimalzahl handelt, wird nur der ganzzahlige Teil beibehalten.

    Warum? Der Puffer wird hexadezimal angezeigt. Tats?chlich wird er immer noch im Speicher gespeichert. Der Puffer verwendet jedoch hexadezimale Zahlen, wenn er die Speicherdaten anzeigt. Die Puffergr??e betr?gt beispielsweise 16 Bit von
  • Buffer
  • Buffer.alloc und Buffer.allocUnsafe
Erstellen Sie einen Puffer mit fester Gr??e

Buffer.alloc(size [, fill [,kodierung]])

  • size Die erforderliche L?nge des neuen Puffers
  • fill Der Wert, der zum Vorfüllen des neuen Puffers verwendet wird. Standard: 0
  • encoding Wenn fill ein String ist, ist dies seine Zeichenkodierung. Standardwert: utf8

Untitled 5.png

Buffer.allocUnsafe(size)

Allokiert einen Puffer mit einer Gr??e von Bytes. Wir haben festgestellt, dass seine Ergebnisse nicht wie Buffer.alloc auf 00 initialisiert werden

Das beim Aufruf von allocUnsafe zugewiesene Speichersegment wurde nicht initialisiert, sodass die Speicherzuweisungsgeschwindigkeit sehr langsam ist, das zugewiesene Speichersegment jedoch m?glicherweise alte Daten enth?lt. Wenn Sie diese alten Daten w?hrend der Verwendung nicht überschreiben, kann dies zu Speicherverlusten führen. Versuchen Sie jedoch, die Verwendung zu vermeiden. Das Buffer-Modul weist eine interne Buffer-Instanz mit der Gr??e Buffer.poolSize als schnell zugewiesene Instanz zu Speicherpool. Verwenden Sie allocUnsafe, um eine neue Pufferinstanz zu erstellen.

Untitled 6.pngBuffer.from Buffer.from(buffer)

Der Speichermechanismus von Buffer.allocUnsafe

Um den angeforderten Speicher effizient zu nutzen, übernimmt Node.js den Slab-Mechanismus für die Voranwendung und Nachzuweisung, einen dynamischen Verwaltungsmechanismus

    Verwenden Sie Buffer.alloc(size). Die übergabe einer bestimmten Gr??e gilt für einen Speicherbereich mit fester Gr??e. Die Platte hat die folgenden drei Zust?nde: vollst?ndig: vollst?ndig zugewiesener Zustand, teilweise: teilweise zugewiesener Zustand, leer: nicht Zugeordneter Status
  • Node .js verwendet 8 KB als Grenze, um kleine Objekte von gro?en Objekten zu unterscheiden. Die Gr??e des Puffers wird bei der Erstellung festgelegt und kann nicht angepasst werden!
  • Kleine Objekte zuweisen

Wenn das zugewiesene Objekt weniger als 8 KB gro? ist, weist der Knoten es als kleines Objekt zu. Untitled 7.png

Der Pufferzuweisungsprozess verwendet haupts?chlich einen lokalen Variablenpool als Zwischenverarbeitungsobjekt und die Platteneinheit im Zuordnungsstatus Alle deuten darauf hin. Im Folgenden wird der Vorgang zum Zuweisen einer neuen Platteneinheit beschrieben, die das neu angewendete SlowBuffer-Objekt darauf verweist. Eine Platteneinheit. Ein 2-KB-Puffer wird zugewiesen. Nach dem Erstellen eines 2-KB-Puffers wird eine Platte erstellt Der Einheitsspeicher lautet wie folgt:

Dieser Zuordnungsprozess wird durch die Zuweisungsmethode abgeschlossen.

  • Nachdem wir einen 2-KB-Puffer erstellt haben, ist der aktuelle Plattenstatus teilweise.
  • Wenn wir den Puffer erneut erstellen, werden wir dies beurteilen die aktuelle Ob der verbleibende Platz der Platte ausreicht. Wenn ausreichend Platz vorhanden ist, verwenden Sie den verbleibenden Platz und aktualisieren Sie den Plattenzuordnungsstatus.
Wenn der Plattenplatz nicht ausreicht, wird eine neue Platte erstellt und der verbleibende Platz in der ursprünglichen Platte wird verschwendet. Gro?e Objekte zuweisen.

Wenn ein Puffer gr??er als 8 KB ist, wird er direkt zur Funktion creatUnsafeBuffer weitergeleitet und eine Platteneinheit zugewiesen. Diese Platteneinheit wird ausschlie?lich von diesem gro?en Pufferobjekt belegt. Der Speicherzuweisungsmechanismus ist dargestellt Der Mechanismus von Buffer ist wie in der Abbildung dargestellt. Durch die Verwendung der Zeichenkodierung k?nnen Buffer-Instanzen und JavaScript-Strings ineinander konvertiert werden

Untitled 8.png

Node unterstützt derzeit acht Kodierungsmethoden: utf8, ucs2, utf16le, latin1, ascii, base64, hex und base64Url. Spezifische Implementierung

Untitled 16.png

Für jedes unterschiedliche Kodierungsschema wird eine Reihe von APIs implementiert Je nach eingehender Codierung gibt Node.js unterschiedliche Objekte zurück. Konvertierung von Puffer und String. String in Puffer. Haupts?chlich über die oben erw?hnte Buffer.from-Methode. Die Standardcodierung ist UTF-8

Puffer zum Konvertieren von Zeichenfolgen

Warum gibt es verstümmelte Zeichen? Wie kann dieses Problem gel?st werden?

In Bezug auf das Lesen betr?gt die L?nge jedes Lesevorgangs 4 und die Blockausgabe lautet wie folgt:Untitled 17.png

Für

Da ein chinesisches Zeichen drei Bytes belegt, wird das vierte im ersten Block angezeigt. Die Bytes werden angezeigt verstümmelte Zeichen und das erste und zweite Byte des zweiten Blocks k?nnen keinen Text usw. bilden, sodass verstümmelte Zeichen angezeigt werden. Weitere Informationen zu Knoten finden Sie unter:

nodejs-TutorialUntitled 18.png!

Das obige ist der detaillierte Inhalt vonErfahren Sie mehr über Puffer in Node. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erkl?rung dieser Website
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

Hei?e KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?e Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

PHP-Tutorial
1502
276
PHP und Vue: eine perfekte Kombination von Front-End-Entwicklungstools PHP und Vue: eine perfekte Kombination von Front-End-Entwicklungstools Mar 16, 2024 pm 12:09 PM

PHP und Vue: eine perfekte Kombination von Front-End-Entwicklungstools In der heutigen Zeit der rasanten Entwicklung des Internets ist die Front-End-Entwicklung immer wichtiger geworden. Da Benutzer immer h?here Anforderungen an das Erlebnis von Websites und Anwendungen stellen, müssen Frontend-Entwickler effizientere und flexiblere Tools verwenden, um reaktionsf?hige und interaktive Schnittstellen zu erstellen. Als zwei wichtige Technologien im Bereich der Front-End-Entwicklung k?nnen PHP und Vue.js in Kombination als perfekte Waffe bezeichnet werden. In diesem Artikel geht es um die Kombination von PHP und Vue sowie um detaillierte Codebeispiele, die den Lesern helfen sollen, diese beiden besser zu verstehen und anzuwenden

Erkundung der Front-End-Technologie der Go-Sprache: eine neue Vision für die Front-End-Entwicklung Erkundung der Front-End-Technologie der Go-Sprache: eine neue Vision für die Front-End-Entwicklung Mar 28, 2024 pm 01:06 PM

Als schnelle und effiziente Programmiersprache erfreut sich Go im Bereich der Backend-Entwicklung gro?er Beliebtheit. Allerdings assoziieren nur wenige Menschen die Go-Sprache mit der Front-End-Entwicklung. Tats?chlich kann die Verwendung der Go-Sprache für die Front-End-Entwicklung nicht nur die Effizienz verbessern, sondern Entwicklern auch neue Horizonte er?ffnen. In diesem Artikel wird die M?glichkeit der Verwendung der Go-Sprache für die Front-End-Entwicklung untersucht und spezifische Codebeispiele bereitgestellt, um den Lesern ein besseres Verst?ndnis dieses Bereichs zu erleichtern. In der traditionellen Frontend-Entwicklung werden h?ufig JavaScript, HTML und CSS zum Erstellen von Benutzeroberfl?chen verwendet

Ist Django Front-End oder Back-End? H?r zu! Ist Django Front-End oder Back-End? H?r zu! Jan 19, 2024 am 08:37 AM

Django ist ein in Python geschriebenes Webanwendungs-Framework, das Wert auf schnelle Entwicklung und saubere Methoden legt. Obwohl Django ein Web-Framework ist, müssen Sie zur Beantwortung der Frage, ob Django ein Front-End oder ein Back-End ist, ein tiefes Verst?ndnis der Konzepte von Front-End und Back-End haben. Das Front-End bezieht sich auf die Schnittstelle, mit der Benutzer direkt interagieren, und das Back-End bezieht sich auf serverseitige Programme. Sie interagieren mit Daten über das HTTP-Protokoll. Wenn das Front-End und das Back-End getrennt sind, k?nnen die Front-End- und Back-End-Programme unabh?ngig voneinander entwickelt werden, um Gesch?ftslogik bzw. interaktive Effekte sowie den Datenaustausch zu implementieren.

Erfahrungsaustausch in der C#-Entwicklung: F?higkeiten zur kollaborativen Front-End- und Back-End-Entwicklung Erfahrungsaustausch in der C#-Entwicklung: F?higkeiten zur kollaborativen Front-End- und Back-End-Entwicklung Nov 23, 2023 am 10:13 AM

Als C#-Entwickler umfasst unsere Entwicklungsarbeit in der Regel die Front-End- und Back-End-Entwicklung. Mit der Weiterentwicklung der Technologie und der zunehmenden Komplexit?t von Projekten wird die gemeinsame Entwicklung von Front-End und Back-End immer wichtiger und komplexer. In diesem Artikel werden einige kollaborative Front-End- und Back-End-Entwicklungstechniken vorgestellt, um C#-Entwicklern dabei zu helfen, die Entwicklungsarbeit effizienter abzuschlie?en. Nach der Festlegung der Schnittstellenspezifikationen ist die gemeinsame Entwicklung von Front-End und Backend untrennbar mit dem Zusammenspiel der API-Schnittstellen verbunden. Um den reibungslosen Ablauf der kollaborativen Front-End- und Back-End-Entwicklung sicherzustellen, ist es am wichtigsten, gute Schnittstellenspezifikationen zu definieren. Bei der Schnittstellenspezifikation handelt es sich um den Namen der Schnittstelle

H?ufig gestellte Fragen von Front-End-Interviewern H?ufig gestellte Fragen von Front-End-Interviewern Mar 19, 2024 pm 02:24 PM

In Front-End-Entwicklungsinterviews decken h?ufige Fragen ein breites Themenspektrum ab, darunter HTML/CSS-Grundlagen, JavaScript-Grundlagen, Frameworks und Bibliotheken, Projekterfahrung, Algorithmen und Datenstrukturen, Leistungsoptimierung, dom?nenübergreifende Anfragen, Front-End-Engineering, Designmuster sowie neue Technologien und Trends. Interviewerfragen sollen die technischen F?higkeiten, die Projekterfahrung und das Verst?ndnis des Kandidaten für Branchentrends beurteilen. Daher sollten Kandidaten in diesen Bereichen umfassend vorbereitet sein, um ihre F?higkeiten und Fachkenntnisse unter Beweis zu stellen.

Django: Ein magisches Framework, das sowohl Front-End- als auch Back-End-Entwicklung bew?ltigen kann! Django: Ein magisches Framework, das sowohl Front-End- als auch Back-End-Entwicklung bew?ltigen kann! Jan 19, 2024 am 08:52 AM

Django: Ein magisches Framework, das sowohl Front-End- als auch Back-End-Entwicklung bew?ltigen kann! Django ist ein effizientes und skalierbares Webanwendungs-Framework. Es unterstützt mehrere Webentwicklungsmodelle, einschlie?lich MVC und MTV, und kann problemlos hochwertige Webanwendungen entwickeln. Django unterstützt nicht nur die Back-End-Entwicklung, sondern kann auch schnell Front-End-Schnittstellen erstellen und durch die Vorlagensprache eine flexible Ansichtsanzeige erreichen. Django kombiniert Front-End-Entwicklung und Back-End-Entwicklung zu einer nahtlosen Integration, sodass sich Entwickler nicht auf das Lernen spezialisieren müssen

Kombination von Golang- und Front-End-Technologie: Entdecken Sie, welche Rolle Golang im Front-End-Bereich spielt Kombination von Golang- und Front-End-Technologie: Entdecken Sie, welche Rolle Golang im Front-End-Bereich spielt Mar 19, 2024 pm 06:15 PM

Kombination von Golang und Front-End-Technologie: Um zu untersuchen, welche Rolle Golang im Front-End-Bereich spielt, sind spezifische Codebeispiele erforderlich. Mit der rasanten Entwicklung des Internets und mobiler Anwendungen ist die Front-End-Technologie immer wichtiger geworden. Auch in diesem Bereich kann Golang als leistungsstarke Back-End-Programmiersprache eine wichtige Rolle spielen. In diesem Artikel wird untersucht, wie Golang mit Front-End-Technologie kombiniert wird, und sein Potenzial im Front-End-Bereich anhand spezifischer Codebeispiele demonstriert. Die Rolle von Golang im Front-End-Bereich ist effizient, pr?gnant und leicht zu erlernen

Das Verst?ndnis der Hauptfunktion von React: Die Frontend -Perspektive Das Verst?ndnis der Hauptfunktion von React: Die Frontend -Perspektive Apr 18, 2025 am 12:15 AM

Zu den Hauptfunktionen von React geh?ren komponentiertes Denken, Staatsmanagement und virtuelles DOM. 1) Die Idee der Komponentierung erm?glicht es, die Benutzeroberfl?che in wiederverwendbare Teile aufzuteilen, um die Lesbarkeit und Wartbarkeit der Code zu verbessern. 2) Das staatliche Management verwaltet dynamische Daten durch Status und Requisiten und ?ndert sich ausl?sen UI -Updates. 3) Aktualisieren Sie die Benutzeroberfl?che virtuelle DOM -Optimierungsleistung durch die Berechnung des Mindestbetriebs der DOM -Replik im Speicher.

See all articles