buffer
*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.
Um buffer é um objeto que representa um bloco de memória de tamanho fixo e manipulável. A biblioteca de buffer fornece funções para a criação e manipulação de objetos de buffer, fornecendo todas as suas funções dentro da variável global buffer.
O buffer foi projetado para ser usado como uma estrutura de armazenamento de dados binários de baixo nível, substituindo os usos de string.pack() e string.unpack(). Os casos de uso incluem a leitura e a gravação de formatos binários existentes, trabalhando com dados em uma forma mais compacta, serialização para formatos binários personalizados e geralmente trabalhando com tipos de memória nativos
Quando passado através das APIs do Roblox, incluindo enviar um buffer através de eventos personalizados, a identificação do objeto de buffer não é preservada e o alvo receberá uma cópia. Semelhante a outras limitações, o mesmo objeto de buffer não pode ser usado de vários Actor scripts (Parallel Luau).
Muitas das funções aceitam um deslocamento em bytes a partir do início do buffer. O deslocamento de 0 a partir do início do bloco de memória acessa o primeiro bytes. Todos os deslocamentos, contagens e tamanhos devem ser números inteiros negativos. Se os bytes que são acessados por qualquer operação de leitura ou gravação estiverem fora da memória do buffer, um erro é exibido.
Os métodos read e write que trabalham com inteiros e flutuais usam pequeno-endian codificação.
Resumo
Funções
Cria um buffer.
Cria um buffer de uma string / cadeia / texto.
Converte um buffer em uma string / cadeia / texto.
Retorna o tamanho do buffer em bytes.
Lê um número assinado de 8 bits do buffer.
Lê um número de 8 bits de intialidade assinada do buffer.
Lê um número assinado de 16 bits do buffer.
Lê um número inteiro assinado de 16 bits do buffer.
Lê um número assinado de 32 bits do buffer.
Lê um número inteiro assinado de 32 bits do buffer.
Lê um valor de ponto flutuante de 32 bits do buffer.
Lê um valor de ponto flutuante de 64 bits do buffer.
Escreve um número assinado de 8 bits para o buffer.
Escreve um número assinado de 8 bits para o buffer.
Escreve um número assinado de 16 bits para o buffer.
Escreve um número inteiro assinado de 16 bits para o buffer.
Escreve um número assinado de 32 bits para o buffer.
Escreve um número assinado de 32 bits para o buffer.
Escreve um valor de ponto flutuante de 32 bits para o buffer.
Escreve um valor de ponto flutuante de 64 bits para o buffer.
Lê uma string do buffer.
Escreve uma string para o buffer.
Copia bytes entre búfers.
Define uma região da memória do buffer para algum valor de índice de 8 bits.
Funções
readf32
Lê os dados do buffer ao reinterpretar os bytes na posição de deslocamento como um valor de ponto flutuante de 32 bits e convertê-lo em um número. Se o valor de ponto flutuante corresponder a qualquer padrão de bit que representa NaN (não é um número), o valor retornado pode ser convertido para uma representação de ponto flutuante diferente.
Parâmetros
Devolução
readf64
Lê os dados do buffer ao reinterpretar os bytes na posição de deslocamento como um valor de ponto flutuante de 64 bits e convertê-lo em um número. Se o valor de ponto flutuante corresponder a qualquer padrão de bit que representa NaN (não é um número), o valor retornado pode ser convertido para uma representação de ponto flutuante diferente.
Parâmetros
Devolução
writei16
Escreve dados no buffer ao converter o número em um número assinado de 16-bits e reinterpretá-lo como um conjunto individual de bytes.
Parâmetros
Devolução
writeu16
Escreve dados no buffer ao converter o número em um número inteiro de 16 bits e reinterpretá-lo como um conjunto individual de bytes.
Parâmetros
Devolução
writei32
Escreve dados no buffer ao converter o número em um número assinado de 32-bits e reinterpretá-lo como um conjunto individual de bytes.
Parâmetros
Devolução
writeu32
Escreve dados no buffer ao converter o número em um número inteiro assinado em 32-bit e reinterpretá-lo como um conjunto de bytes individuais.
Parâmetros
Devolução
writef32
Escreve dados no buffer ao converter o número em um valor de ponto flutuante de 32 bits e reinterpretá-lo como um único bit.
Parâmetros
Devolução
writef64
Escreve dados no buffer ao converter o número em um valor de ponto flutuante de 64 bits e reinterpretá-lo como um único bytes.
Parâmetros
Devolução
writestring
Escreve dados de uma string para o buffer em offset. Se um opcional count for especificado, apenas count bytes são tomados da string / cadeia / texto.
Parâmetros
Devolução
copy
Copia count bytes de original começando em OFFSET sourceOffset para o 1> target1> em OFFSET 4> sourceOffset4>.
É possível que source e target sejam a mesma coisa. Copiar uma região sobreposição dentro do mesmo buffer atua como se a região de origem estivesse copiada para um buffer temporário e depois esse buffer é copiado para o alvo.
Parâmetros
Puffer para copiar dados para dentro.
Deslocamento a partir do início da memória do buffer, começando por 0.
Buffer para levar os dados de volta.
Deslocamento a partir do início da memória do buffer, começando por 0.
Número de bytes para copiar. Se omitido, todo o source começando por sourceOffset é tomado.
Devolução
fill
Define count bytes no buffer começando no offset especificado para value.