buffer
*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
Erstellt einen Buffер.
Erstellt einen Puffer aus einer String.
Konvertiert einen Buffер in eine String.
Gibt die Größe des Buffers in Bytes zurück.
Liest eine Reihe von Bits in einen unsignierten Ganzzahl aus dem Speicher basierend auf einem bestimmten bitCount Ganzzahl von 0 bis 32, einschließlich.
Liest einen 8-bit-signierten Zahlbereich aus dem Buff.
Leset einen 8-bit-unsignierten Zahlbereich aus dem Speicher.
Liest einen 16-Bit-signierten Zahlbereich aus dem Buffер.
Liest einen 16-Bit-unsignierten Zahlbereich aus dem Buffер.
Liest einen 32-Bit-signierten Zahlbereich aus dem Buff.
Liest einen 32-Bit-unsignierten Zahlbereich aus dem Buffер.
Liest einen 32-Bit-Gewichtspunkt-Wert aus dem Buffер.
Liest einen 64-Bit-Ganzzahlenwert aus dem Buffер.
Schreibt Daten in den Speicher basierend auf einem bestimmten bitCount Ganzzahl von 0 bis 32, einschließlich.
Schreibt einen 8-bit-signierten Zahlbereich in den Buffer.
Schreibt einen 8-bit-unsignierten Zahltyp in den Buffер.
Schreibt einen 16-Bit-signierten Ganzzahl in den Buffер.
Schreibt einen 16-Bit-unsignierten Ganzzahl in den Buffер.
Schreibt einen 32-bit-signierten Zahlbereich in den Buffer.
Schreibt einen 32-Bit-unsignierten Ganzzahl in den Buffер.
Schreibt einen 32-Bit-Ganzzahlenwert in den Buffер.
Schreibt einen 64-Bit-Ganzzahlenwert in den Buffер.
Liest einen String aus dem Buffering.
Schreibt eine Zeichenkette in den Buffер.
Kopiert Bytes zwischen Buffern.
Setzt eine Region des Buffermemorie auf einen unsignierten 8-Bit-Wert.
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
Größe des Buffers.
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:
- buffer.readbits(b, 0, 8) ist gleich buffer.readu8(b, 0) .
- buffer.readbits(b, 0, 16) ist gleich buffer.readu16(b, 0) .
- buffer.readbits(b, 0, 32) ist gleich buffer.readu32(b, 0) .
- buffer.readbits(b, 0, 24) liest 24 bytes aus dem buffер.
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
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.
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.
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
Versatz von Beginn des Buffermediums, beginnend mit 0.
Integer-Bitanzahl zum Schreiben. Fehler wird geworfen, wenn dieser Wert nicht in der Reichweite von 0 bis 32 liegt, einschließlich.
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
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
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
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
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
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
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
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
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
Puffer, um Daten zu kopieren.
Versatz von Beginn des Buffermediums, beginnend mit 0.
Puffer, um die Daten zu nehmen.
Versatz von Beginn des Buffermediums, beginnend mit 0.
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.
Versatz von Beginn des Buffermediums, beginnend mit 0.
Eine ganze Zahl in der Reichweite [0, 255].
Anzahl der Bytes, die geschrieben werden. Wenn es weggelassen wird, werden alle Bytes nach dem angegebenen Offset festlegen.