버퍼는 메모리의 고정 크기 변경 가능 블록을 나타내는 개체입니다.버퍼 라이브러리는 전역 buffer 내에서 모든 기능을 제공하는 버퍼 개체의 생성 및 조작 함수를 제공합니다.
버퍼는 낮은 수준의 이진 데이터 저장 구조로 사용되도록 의도되었으며, string.pack() 및 string.unpack()의 사용을 대체합니다.사용 사례에는 기존 바이너리 형식 읽기 및 쓰기, 더 컴팩트한 형태의 데이터 작업, 고정 길이 정수 및 부동 소수점과 같은 네이티브 메모리 유형의 일반적인 작업이 포함됩니다.
커스텀 이벤트를 통해 버퍼를 보내는 것을 포함하여 Roblox API를 통과할 때 버퍼 개체의 정체성이 유지되지 않고 대상에 복사본이 전달됩니다.다른 제한과 마찬가지로, 동일한 버퍼 개체는 여러 Actor 스크립트(평행 Luau)에서 사용할 수 없습니다.
많은 함수가 버퍼의 시작부터 바이트 오프셋을 허용합니다.버퍼 메모리 블록의 시작에서 0의 오프셋은 첫 번째 바이트에 액세스합니다.모든 오프셋, 카운트 및 크기는 음의 정수가 아닌 양의 정수여야 합니다.읽기 또는 쓰기 작업에서 액세스하는 바이트가 버퍼 메모리 밖에 있으면 오류가 발생합니다.
정수와 부동 소수점으로 작동하는 및 메서드는 작은 끝 인코딩을 사용합니다.
요약
함수
버퍼를 생성합니다.
문자열에서 버퍼를 생성합니다.
버퍼를 문자열로 변환합니다.
바이트 단위의 버퍼 크기를 반환합니다.
버퍼에서 특정 bitCount 부터 0 까지 범위의 비트를 읽어 무표정 정수로 변환하여 버퍼에 저장합니다. Reads a range of bits into an unsigned integer from the buffer based on a specific integer from to 32, inclusive.
버퍼에서 8비트 서명된 정수를 읽습니다.
버퍼에서 8비트 부호 없는 정수를 읽습니다.
버퍼에서 16비트 서명된 정수를 읽습니다.
버퍼에서 16비트 부호 없는 정수를 읽습니다.
버퍼에서 32비트 서명된 정수를 읽습니다.
버퍼에서 32비트 부호 없는 정수를 읽습니다.
버퍼에서 32비트 부동 소수점 값을 읽습니다.
버퍼에서 64비트 부동 소수점 값을 읽습니다.
특정 bitCount 정수에 따라 버퍼에 데이터를 기록하며, 포함되는 경우 0 에서 32 까지입니다.
버퍼에 8비트 서명된 정수를 씁니다.
버퍼에 8비트 부호 없는 정수를 씁니다.
버퍼에 16비트 서명된 정수를 씁니다.
버퍼에 16비트 부호 없는 정수를 씁니다.
버퍼에 32비트 서명된 정수를 씁니다.
버퍼에 32비트 부호 없는 정수를 씁니다.
버퍼에 32비트 부동 소수점 값을 씁니다.
버퍼에 64비트 부동 소수점 값을 씁니다.
버퍼에서 문자열을 읽습니다.
버퍼에 문자열을 씁니다.
버퍼 간의 바이트 복사.
버퍼 메모리의 영역을 일부 8비트 부호 없는 정수 값으로 설정합니다.
함수
readbits
버퍼에서 특정 bitCount 부터 0 까지 범위의 비트를 읽어 무표정 정수로 변환하여 버퍼에 저장합니다. Reads a range of bits into an unsigned integer from the buffer based on a specific integer from to 32, inclusive.예를 들어:
- buffer.readbits(b, 0, 8) 은 buffer.readu8(b, 0) 와 동일합니다.
- buffer.readbits(b, 0, 16) 은 buffer.readu16(b, 0) 와 동일합니다.
- buffer.readbits(b, 0, 32) 은 buffer.readu32(b, 0) 와 동일합니다.
- buffer.readbits(b, 0, 24) 버퍼에서 24비트를 읽습니다.
비트 너비 0 는 비트 수가 동적인 일반화된 경우에만 오류가 발생하지 않도록 지원되며, 0비트 읽기는 0 로 반환됩니다.또한 버퍼의 최대 크기가 1GB이므로 bitOffset 는 다른 버퍼 함수의 바이트 오프셋처럼 32비트 정수 숫자로 처리할 수 없습니다.
매개 변수
반환
writebits
특정 bitCount 정수에 따라 버퍼에 데이터를 기록하며, 포함되는 경우 0 에서 32 까지입니다.value 은 부호 없는 32비트 숫자로 처리되고 가장 중요한 비트만 bitCount 쓰여집니다.
비트 너비 0 는 비트 수가 동적인 일반화된 경우에만 오류가 발생하지 않도록 지원되며, 0비트 쓰기는 영향을 미치지 않습니다.또한 버퍼의 최대 크기가 1GB이므로 bitOffset 는 다른 버퍼 함수의 바이트 오프셋처럼 32비트 정수 숫자로 처리할 수 없습니다.
매개 변수
반환
copy
복사 count 바이트를 시작하여 오프셋 source 에서 오프셋 sourceOffset 에 이르기까지 시작하여 target 에서 targetOffset 에 이르기까지 복사합니다.
source 와 target 가 동일할 수 있습니다.동일한 버퍼 내에서 겹치는 영역을 복사하면 원본 영역이 임시 버퍼에 복사된 후 해당 버퍼가 대상으로 복사되는 것과 같습니다.