buffer
*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.
Un buffer è un oggetto che rappresenta un blocco di memoria di dimensioni fisse. La libreria buffer fornisce funzioni per la creazione e la manipolazione di oggetti buffer, fornendo tutte le sue funzioni all'interno della variabile globale buffer .
Il buffer è destinato ad essere utilizzato come struttura di archiviazione dati binaria di basso livello, sostituendo l'uso di string.pack() e string.unpack() . I casi d'uso includono la lettura e la scrittura di formati binari esistenti, il lavoro con i dati in una forma più compatta e la serializzazione per i formati binari personalizzati e generali. I tipi di memoria nativa come i valori fissi e
Quando viene passato attraverso API Roblox, tra cui l'invio di un buffer attraverso eventi personalizzati, l'identità dell'oggetto buffer non viene preservata e il destinatario riceverà una copia. Come altre limitazioni, lo stesso oggetto buffer non può essere utilizzato da più Actor script (Parallel Luau).
Molte delle funzioni accettano un offset in bytes dall'inizio della memoria di avvio. L'offset di 0 dall'inizio della memoria di avvio accede al primo Byte. Tutti gli offset, conti e dimensioni devono essere numeri interi non negativi. Se i Byte che vengono acceduti da qualsiasi operazione di lettura o scrittura sono fuori dalla memoria di avvio, viene visualizzato un errore.
I metodi read e write che lavorano con interi e fluttua utilizzano poco-endian encodamento.
Sommario
Funzioni
Crea un buffer.
Crea un buffer da una Stringa.
Converte un buffer in una Stringa.
Restituisce la dimensione del buffer in bytes.
Legge un intero numero firmato a 8 bit dal buffer.
Legge un intero numero in segno 8 dalla cache.
Legge un intero numero firmato a 16 bit dal buffer.
Legge un intero numero in segno 16 dalla cache.
Legge un intero numero firmato a 32 bit dal buffer.
Legge un intero numero in segno 32 dalla cache.
Legge un valore a punto fluttuante a 32 bit dal buffer.
Legge un valore di punto fluttuante a 64 bit dal buffer.
Scrive un intero numero firmato a 8 bit nel buffer.
Scrive un intero numero in 8 bit senza firmare sul buffer.
Scrive un intero int a 16 bit firmato nel buffer.
Scrive un intero numero in segno 16-bit nel buffer.
Scrive un intero int a 32 bit firmato nel buffer.
Scrive un intero numero in segno 32-bit nel buffer.
Scrive un valore di punto fluttuante a 32 bit nel buffer.
Scrive un valore di punto fluttuante a 64 bit nel buffer.
Legge una stringa dal buffer.
Scrive una stringa nel buffer.
Copia i bit tra i buffер.
Imposta un'area della memoria di buffer su un valore di sigillo di 8 bit.
Funzioni
create
Crea un buffer della dimensione richiesta con tutti i bit inizializzati a 0. Il limite di dimensioni è 1 GiB, o 1,073,741,824 bit. Tieni presente che più grandi buffer potrebbero non essere disponibili per l'allocazione se il dispositivo è in esecuzione a bassa memoria.
Parametri
Dimensione del buffer.
Restituzioni
readf32
Legge i dati dal buffer reinterpretando i bit all'interno dell'offset come un valore float 32-bit e convertendolo in un numero. Se il valore float corrisponde a qualsiasi modello di bit che rappresenta NaN (non un numero), il valore restituito può essere convertito in una rappresentazione di tipo differente NaN .
Parametri
Restituzioni
readf64
Legge i dati dal buffer reinterpretando i bit all'interno dell'offset come un valore float 64-bit e convertendolo in un numero. Se il valore float corrisponde a qualsiasi modello di bit che rappresenta NaN (non un numero), il valore restituito può essere convertito in una rappresentazione di tipo differente NaN .
Parametri
Restituzioni
writei16
Scriva i dati nel buffer convertendo il numero in un intero numero di 16 bit e reinterpretingolo come singoli bit.
Parametri
Restituzioni
writeu16
Scriva i dati nel buffer convertendo il numero in un numero intero non firmato in 16 bit e reinterpretandolo come singoli bit.
Parametri
Restituzioni
writei32
Scriva i dati nel buffer convertendo il numero in un intero numero a 32 bit e reinterpretingolo come singoli bit.
Parametri
Restituzioni
writeu32
Scriva i dati nel buffer convertendo il numero in un numero intero non firmato in 32 bit e reinterpretandolo come singoli bit.
Parametri
Restituzioni
writef32
Scriva i dati nel buffer convertendo il numero in un valore di punto fluttuante a 32 bit e reinterpretingolo come singoli bit.
Parametri
Restituzioni
writef64
Scriva i dati nel buffer convertendo il numero in un valore di punto fluttuante a 64 bit e reinterpretingolo come singoli bit.
Parametri
Restituzioni
writestring
Scrive i dati da una stringa in un buffer all'indirizzo specificato offset . Se viene specificato un opzionale count, vengono prelevati solo count bytes dalla Stringa.
Parametri
Restituzioni
copy
Copia count bytes from source starting at offset sourceOffset into the 1> target1> at 4> targetOffset4> .
È possibile che source e target siano uguali. La copia di una regione sovrapponente all'interno dello stesso buffer agisce come se la regione di origine fosse copiata in un buffer temporaneo e poi in un buffer viene copiata sull'obiettivo.
Parametri
Buffer per copiare i dati in.
Spostamento dall'inizio della memoria di buffer, inizializzando da 0.
Buffer per prendere i dati.
Spostamento dall'inizio della memoria di buffer, inizializzando da 0.
Numero di bytes da copiare. Se omesso, l'intera source data che inizia da sourceOffset viene presa.
Restituzioni
fill
Imposta count bytes nel buffer starting at the specified offset to value .