buffer

Veraltete anzeigen

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Ein Buffер ist ein Objekt, das einen festen, veränderbaren Speicherblock darstellt.Die Buffereibliothek bietet Funktionen für die Erstellung und Manipulation von Bufferoberflächen und stellt alle ihre Funktionen innerhalb der globalen buffer Variable bereit.

Buffer sollte verwendet werden, um eine niedrigstufige binäre Datenstruktur zum Speichern von Daten zu ersetzen, die Verwendung von string.pack() und string.unpack() .Anwendungsfälle umfassen das Lesen und Schreiben von vorhandenen binären Formaten, die Arbeit mit Daten in kompakterer Form, die Serzialisierung in benutzerdefinierte binäre Formate und die allgemeine Arbeit mit nativen Speichertypen wie fixlängige Zahlen und Floats.

Wenn durch Roblox-APIs durchgeschickt wird, einschließlich des Versands eines Buffers durch benutzerdefinierte Ereignisse, wird die Identität des Bufferelements nicht erhalten und das Ziel erhält eine Kopie.Ähnlich wie bei anderen Einschränkungen kann das gleiche Bufferelement nicht von mehreren Actor Skripten (Parallel Luau) verwendet werden.

Viele der Funktionen akzeptieren einen Versatz in Bytes von Beginn des Buffers.Versatz von 0 vom Beginn des Speicherblockzugriffs auf die erste Byte zugreift.Alle Versätze, Zählungen und Größen sollten negative Zahlenzahlen sein.Wenn die von einer Lesen- oder Schreiboperation zugänglichen Bytes außerhalb des Buffermemorie sind, wird ein Fehler geworfen.

Die read- und write-Methoden, die mit Ganzzahlen und Flüssen arbeiten, verwenden little-endian-Kodierung.

Zusammenfassung

Funktionen

Funktionen

create

Erstellt einen Puffer der angeforderten Größe mit allen Bytes, die auf 0 initialisiert wurden.Die Größenbegrenzung beträgt 1 GiB oder 1.073.741.824 Bytes.Denken Sie daran, dass größere Buffers möglicherweise nicht zugewiesen werden, wenn das Gerät wenig Speicher hat.

Parameter

size: number

Größe des Buffers.

Rückgaben

fromstring

Erstellt einen Puffer, der mit dem Inhalt der Stringinitialisiert wird. Die Größe des Puffers entspricht der Länge der String.

Parameter

str: string

Rückgaben

tostring

Gibt die Bufferdaten als Stringzurück.

Parameter

Rückgaben

Gibt die Größe des Buffers in Bytes zurück.

Parameter

Rückgaben

readbits

Liest eine Reihe von Bits in einen unsignierten Ganzzahl aus dem Speicher basierend auf einem bestimmten bitCount Ganzzahl von 0 bis 32, einschließlich.Zum Beispiel:

Beachten Sie, dass 0 Bit-Breite nur in allgemeinen Fällen unterstützt wird, in denen die Bitanzahl dynamisch ist, und das Lesen von 0 Bits gibt 0 zurück.Beachten Sie auch, dass, da die maximale Größe des Buffers 1 GB beträgt, bitOffset nicht wie ein 32-Bit-Ganzzahl wie BytesOffset in anderen Buffelfunktionen behandelt werden kann.

Parameter

bitOffset: number

Versatz von Beginn des Buffermediums, beginnend mit 0.

bitCount: number

Integer-Bitanzahl zum gelesen. Fehler wird geworfen, wenn dieser Wert nicht in der Reichweite von 0 bis 32 liegt, einschließlich.

Rückgaben

readi8

Liest die Daten aus dem Buffering durch Wiederinterpretieren von Bytes am Offset als 8-bit-signiertes Ganzzahl und wandelt es in eine Zahl um.

Parameter

offset: number

Versatz von Beginn des Buffermediums, beginnend mit 0.

Rückgaben

readu8

Liest die Daten aus dem Buffering durch Wiederinterpretieren von Bytes am Offset als 8-bit-unsigniertes Ganzzahl und wandelt es in eine Zahl um.

Parameter

offset: number

Versatz von Beginn des Buffermediums, beginnend mit 0.

Rückgaben

readi16

Lesen die Daten aus dem Buffering durch die Wiederinterpretation von Bytes am Offset als 16-bit-signiertes Ganzzahl und wandeln sie in eine Zahl um.

Parameter

offset: number

Versatz von Beginn des Buffermediums, beginnend mit 0.

Rückgaben

readu16

Liest die Daten aus dem Buffering durch Wiederinterpretieren von Bytes am Offset als 16-bit unsigniertes Ganzzahl und wandelt es in eine Zahl um.

Parameter

offset: number

Versatz von Beginn des Buffermediums, beginnend mit 0.

Rückgaben

readi32

Liest die Daten aus dem Buffering durch Wiederinterpretieren von Bytes am Offset als 32-bit-signiertes Ganzzahl und wandelt es in eine Zahl um.

Parameter

offset: number

Versatz von Beginn des Buffermediums, beginnend mit 0.

Rückgaben

readu32

Liest die Daten aus dem Buffering durch Wiederinterpretieren von Bytes am Offset als 32-bit unsigniertes Ganzzahl und wandelt es in eine Zahl um.

Parameter

offset: number

Versatz von Beginn des Buffermediums, beginnend mit 0.

Rückgaben

readf32

Lesen die Daten aus dem Buffering durch die Wiederinterpretation von Bytes am Offset als 32-Bit-Ganzzahl und wandeln sie in eine Zahl um.Wenn der Wert des Fließkommastpunkts mit irgendeinem Bitmuster übereinstimmt, das NaN (keine Zahl) darstellt, kann der zurückgegebene Wert in eine andere leise NaN Darstellung umgewandelt werden.

Parameter

offset: number

Versatz von Beginn des Buffermediums, beginnend mit 0.

Rückgaben

readf64

Lesen die Daten aus dem Buffering durch die Wiederinterpretation von Bytes am Offset als 64-Bit-Ganzzahl und wandeln sie in eine Zahl um.Wenn der Wert des Fließkommastpunkts mit irgendeinem Bitmuster übereinstimmt, das NaN (keine Zahl) darstellt, kann der zurückgegebene Wert in eine andere leise NaN Darstellung umgewandelt werden.

Parameter

offset: number

Versatz von Beginn des Buffermediums, beginnend mit 0.

Rückgaben

writebits

()

Schreibt Daten in den Speicher basierend auf einem bestimmten bitCount Ganzzahl von 0 bis 32, einschließlich. wird als unsignierte 32-Bit-Zahl behandelt und nur die mindestens signifikanten Bits geschrieben werden.

Beachten Sie, dass 0 Bit-Breite nur in allgemeinen Fällen unterstützt wird, in denen die Bitanzahl dynamisch ist, und das Schreiben von 0 Bytes hat keinen Effekt.Beachten Sie auch, dass, da die maximale Größe des Buffers 1 GB beträgt, bitOffset nicht wie ein 32-Bit-Ganzzahl wie BytesOffset in anderen Buffelfunktionen behandelt werden kann.

Parameter

bitOffset: number

Versatz von Beginn des Buffermediums, beginnend mit 0.

bitCount: number

Integer-Bitanzahl zum Schreiben. Fehler wird geworfen, wenn dieser Wert nicht in der Reichweite von 0 bis 32 liegt, einschließlich.

value: number

Unsignierte 32-Bit-Zahl. Nur bitCount mindestens bedeutende Bits werden geschrieben.

Rückgaben

()

writei8

()

Schreibt Daten in den Speicher, indem die Zahl in einen 8-bitigen signierten Zahlbereich umgewandelt und ein einzelner Byte geschrieben wird.

Parameter

offset: number

Versatz von Beginn des Buffermediums, beginnend mit 0.

value: number

Eine ganze Zahl in der Reichweite [-128, 127].

Rückgaben

()

writeu8

()

Schreibt Daten in den Speicher, indem die Zahl in einen 8-bit-unsignierten Zahlbereich umgewandelt und ein einzelner Byte geschrieben wird.

Parameter

offset: number

Versatz von Beginn des Buffermediums, beginnend mit 0.

value: number

Eine ganze Zahl in der Reichweite [0, 255].

Rückgaben

()

writei16

()

Schreibt Daten in den Speicher, indem die Zahl in einen 16-Bit-signierten Zahlbereich umgewandelt und sie dann als einzelne Bytes neu interpretiert.

Parameter

offset: number

Versatz von Beginn des Buffermediums, beginnend mit 0.

value: number

Eine ganze Zahl in der Reichweite [-32,768, 32,767].

Rückgaben

()

writeu16

()

Schreibt Daten in den Speicher, indem die Zahl in einen 16-Bit-unsignierten Zahlbereich umgewandelt und sie dann als einzelne Bytes neu interpretiert.

Parameter

offset: number

Versatz von Beginn des Buffermediums, beginnend mit 0.

value: number

Eine ganze Zahl in der Reichweite [0, 65,535].

Rückgaben

()

writei32

()

Schreibt Daten in den Speicher, indem es die Zahl in einen 32-Bit-signierten Zahlbereich umwandelt und sie als einzelne Bytes neu interpretiert.

Parameter

offset: number

Versatz von Beginn des Buffermediums, beginnend mit 0.

value: number

Eine ganze Zahl in der Reichweite [-2,147,483,648, 2,147,483,647].

Rückgaben

()

writeu32

()

Schreibt Daten in den Speicher, indem die Zahl in einen 32-Bit-unsignierten Zahlbereich umgewandelt und sie dann als einzelne Bytes neu interpretiert.

Parameter

offset: number

Versatz von Beginn des Buffermediums, beginnend mit 0.

value: number

Eine ganze Zahl in der Reichweite [0, 4,294,967,295].

Rückgaben

()

writef32

()

Schreibt Daten in den Speicher, indem es die Zahl in einen 32-Bit-Ganzzahlenwert umwandelt und sie als einzelne Bytes neu interpretiert.

Parameter

offset: number

Versatz von Beginn des Buffermediums, beginnend mit 0.

value: number

Eine einzelpräzise Floating-Point-Nummer.

Rückgaben

()

writef64

()

Schreibt Daten in den Speicher, indem es die Zahl in einen 64-Bit-Ganzzahlenwert umwandelt und sie als einzelne Bytes neu interpretiert.

Parameter

offset: number

Versatz von Beginn des Buffermediums, beginnend mit 0.

value: number

Eine doppelt präzise Schwebkommastellenzahl.

Rückgaben

()

readstring

Ließt eine Zeichenkette mit Länge count vom Speicher am angegebenen offset .

Parameter

offset: number

Versatz von Beginn des Buffermediums, beginnend mit 0.

count: number

Länge zum gelesen.

Rückgaben

writestring

()

Schreibt Daten von einer Zeichenkette in den Speicher am angegebenen offset .Wenn ein optionales count angegeben wird, werden nur count Bytes aus der Stringabgenommen.

Parameter

offset: number

Versatz von Beginn des Buffermediums, beginnend mit 0.

value: string

Daten zum Schreiben.

count: number

Anzahl der Bytes, die vom String abgenommen werden. Dieser Wert darf nicht größer als die Länge des Strings sein.

Rückgaben

()

copy

()

Kopiert count Bytes von source ab dem Offset sourceOffset in die target an targetOffset .

Es ist möglich, dass source und target dasselbe sind.Das Kopieren einer überlappenden Region innerhalb desselben Buffers funktioniert so, als würde die Quellregion in einen temporären Buffер kopiert und dann dieser Buffер auf das Ziel übertragen.

Parameter

target: buffer

Puffer, um Daten zu kopieren.

targetOffset: number

Versatz von Beginn des Buffermediums, beginnend mit 0.

source: buffer

Puffer, um die Daten zu nehmen.

sourceOffset: number

Versatz von Beginn des Buffermediums, beginnend mit 0.

Standardwert: 0
count: number

Anzahl der Bytes zum Kopieren. Wenn es weggelassen wird, wird das gesamte source Daten, die ab sourceOffset beginnen, kopiert.

Rückgaben

()

fill

()

Setzt count Bytes in den Buffер, der mit dem angegebenen offset an value beginnt.

Parameter

Puffer, um die Daten einzuschreiben.

offset: number

Versatz von Beginn des Buffermediums, beginnend mit 0.

value: number

Eine ganze Zahl in der Reichweite [0, 255].

count: number

Anzahl der Bytes, die geschrieben werden. Wenn es weggelassen wird, werden alle Bytes nach dem angegebenen Offset festlegen.

Rückgaben

()