Node.js - bufory
Czysty JavaScript jest przyjazny dla Unicode, ale nie jest tak w przypadku danych binarnych. Mając do czynienia ze strumieniami TCP lub systemem plików, należy obsługiwać strumienie oktetów. Węzeł udostępnia klasę Buffer, która zapewnia instancje do przechowywania surowych danych, podobnie jak tablica liczb całkowitych, ale odpowiada alokacji pamięci surowej poza stertą V8.
Klasa bufora to klasa globalna, do której można uzyskać dostęp w aplikacji bez importowania modułu bufora.
Tworzenie buforów
Bufor węzła można skonstruować na wiele sposobów.
Metoda 1
Poniżej znajduje się składnia służąca do tworzenia niezainicjowanego bufora 10 oktety -
var buf = new Buffer(10);
Metoda 2
Poniżej znajduje się składnia tworzenia bufora z podanej tablicy -
var buf = new Buffer([10, 20, 30, 40, 50]);
Metoda 3
Poniżej znajduje się składnia tworzenia bufora z podanego ciągu i opcjonalnie typu kodowania -
var buf = new Buffer("Simply Easy Learning", "utf-8");
Chociaż „utf8” jest kodowaniem domyślnym, można użyć dowolnego z następujących kodowań „ascii”, „utf8”, „utf16le”, „ucs2”, „base64” lub „hex”.
Pisanie do buforów
Składnia
Poniżej znajduje się składnia metody zapisu do bufora węzła:
buf.write(string[, offset][, length][, encoding])
Parametry
Oto opis użytych parametrów -
string - To jest ciąg danych do zapisania w buforze.
offset- To jest indeks bufora, od którego zaczyna się zapis. Wartość domyślna to 0.
length- To jest liczba bajtów do zapisania. Domyślnie bufor.length.
encoding- Kodowanie do użycia. Domyślnym kodowaniem jest „utf8”.
Wartość zwracana
Ta metoda zwraca liczbę zapisanych oktetów. Jeśli w buforze nie ma wystarczającej ilości miejsca, aby zmieścić cały ciąg, zapisze część ciągu.
Przykład
buf = new Buffer(256);
len = buf.write("Simply Easy Learning");
console.log("Octets written : "+ len);
Kiedy powyższy program jest wykonywany, daje następujący wynik -
Octets written : 20
Czytanie z buforów
Składnia
Poniżej znajduje się składnia metody odczytu danych z bufora węzła -
buf.toString([encoding][, start][, end])
Parametry
Oto opis użytych parametrów -
encoding- Kodowanie do użycia. Domyślnym kodowaniem jest „utf8”.
start - Indeks początkowy, aby rozpocząć czytanie, domyślnie 0.
end - Koniec indeksu, aby zakończyć czytanie, domyślnie jest to pełny bufor.
Wartość zwracana
Ta metoda dekoduje i zwraca ciąg z danych buforu zakodowanych przy użyciu określonego kodowania zestawu znaków.
Przykład
buf = new Buffer(26);
for (var i = 0 ; i < 26 ; i++) {
buf[i] = i + 97;
}
console.log( buf.toString('ascii')); // outputs: abcdefghijklmnopqrstuvwxyz
console.log( buf.toString('ascii',0,5)); // outputs: abcde
console.log( buf.toString('utf8',0,5)); // outputs: abcde
console.log( buf.toString(undefined,0,5)); // encoding defaults to 'utf8', outputs abcde
Kiedy powyższy program jest wykonywany, daje następujący wynik -
abcdefghijklmnopqrstuvwxyz
abcde
abcde
abcde
Konwertuj bufor na JSON
Składnia
Poniżej znajduje się składnia metody konwersji buforu węzła na obiekt JSON -
buf.toJSON()
Wartość zwracana
Ta metoda zwraca reprezentację JSON wystąpienia Buffer.
Przykład
var buf = new Buffer('Simply Easy Learning');
var json = buf.toJSON(buf);
console.log(json);
Kiedy powyższy program jest wykonywany, daje następujący wynik -
{ type: 'Buffer',
data:
[
83,
105,
109,
112,
108,
121,
32,
69,
97,
115,
121,
32,
76,
101,
97,
114,
110,
105,
110,
103
]
}
Bufory łączone
Składnia
Poniżej znajduje się składnia metody łączenia buforów węzła z pojedynczym buforem węzła -
Buffer.concat(list[, totalLength])
Parametry
Oto opis użytych parametrów -
list - Array Lista obiektów bufora do konkatenacji.
totalLength - To jest całkowita długość buforów po połączeniu.
Wartość zwracana
Ta metoda zwraca wystąpienie Buffer.
Przykład
var buffer1 = new Buffer('TutorialsPoint ');
var buffer2 = new Buffer('Simply Easy Learning');
var buffer3 = Buffer.concat([buffer1,buffer2]);
console.log("buffer3 content: " + buffer3.toString());
Kiedy powyższy program jest wykonywany, daje następujący wynik -
buffer3 content: TutorialsPoint Simply Easy Learning
Porównaj bufory
Składnia
Poniżej przedstawiono składnię metody porównywania dwóch buforów węzłów -
buf.compare(otherBuffer);
Parametry
Oto opis użytych parametrów -
otherBuffer - To jest drugi bufor, z którym będziemy porównywać buf
Wartość zwracana
Zwraca liczbę wskazującą, czy występuje przed, czy po, czy też jest taka sama jak otherBuffer w kolejności sortowania.
Przykład
var buffer1 = new Buffer('ABC');
var buffer2 = new Buffer('ABCD');
var result = buffer1.compare(buffer2);
if(result < 0) {
console.log(buffer1 +" comes before " + buffer2);
} else if(result === 0) {
console.log(buffer1 +" is same as " + buffer2);
} else {
console.log(buffer1 +" comes after " + buffer2);
}
Kiedy powyższy program jest wykonywany, daje następujący wynik -
ABC comes before ABCD
Kopiuj bufor
Składnia
Poniżej znajduje się składnia metody kopiowania bufora węzła -
buf.copy(targetBuffer[, targetStart][, sourceStart][, sourceEnd])
Parametry
Oto opis użytych parametrów -
targetBuffer - Obiekt bufora, do którego zostanie skopiowany bufor.
targetStart - Liczba, opcjonalnie, domyślnie: 0
sourceStart - Liczba, opcjonalnie, domyślnie: 0
sourceEnd - Liczba, opcjonalnie, domyślnie: długość bufora
Wartość zwracana
Brak wartości zwracanej. Kopiuje dane z regionu tego buforu do regionu w buforze docelowym, nawet jeśli docelowy region pamięci nakłada się na źródło. Jeśli nie jest zdefiniowana, parametry targetStart i sourceStart mają domyślnie wartość 0, a sourceEnd przyjmuje wartość domyślną buffer.length.
Przykład
var buffer1 = new Buffer('ABC');
//copy a buffer
var buffer2 = new Buffer(3);
buffer1.copy(buffer2);
console.log("buffer2 content: " + buffer2.toString());
Kiedy powyższy program jest wykonywany, daje następujący wynik -
buffer2 content: ABC
Slice Buffer
Składnia
Poniżej znajduje się składnia metody uzyskiwania bufora podrzędnego bufora węzła -
buf.slice([start][, end])
Parametry
Oto opis użytych parametrów -
start - Liczba, opcjonalnie, domyślnie: 0
end - Liczba, opcjonalnie, domyślnie: długość bufora
Wartość zwracana
Zwraca nowy bufor, który odwołuje się do tej samej pamięci co stary, ale jest przesunięty i przycięty przez indeksy początkowy (domyślnie 0) i końcowy (domyślnie bufor.length). Indeksy ujemne zaczynają się od końca bufora.
Przykład
var buffer1 = new Buffer('TutorialsPoint');
//slicing a buffer
var buffer2 = buffer1.slice(0,9);
console.log("buffer2 content: " + buffer2.toString());
Kiedy powyższy program jest wykonywany, daje następujący wynik -
buffer2 content: Tutorials
Długość bufora
Składnia
Poniżej przedstawiono składnię metody uzyskiwania rozmiaru bufora węzła w bajtach -
buf.length;
Wartość zwracana
Zwraca rozmiar buforu w bajtach.
Przykład
var buffer = new Buffer('TutorialsPoint');
//length of the buffer
console.log("buffer length: " + buffer.length);
Wykonanie powyższego programu daje następujący wynik -
buffer length: 14
Odniesienie do metod
Sr.No. | Metoda i opis |
---|---|
1 | new Buffer(size) Przydziela nowy bufor o rozmiarze oktetów. Pamiętaj, że rozmiar nie może być większy niż kMaxLength. W przeciwnym razie zostanie tutaj wyrzucony RangeError. |
2 | new Buffer(buffer) Kopiuje przekazane dane buforu do nowej instancji Buffer. |
3 | new Buffer(str[, encoding]) Przydziela nowy bufor zawierający daną str. kodowanie domyślne to „utf8”. |
4 | buf.length Zwraca rozmiar buforu w bajtach. Zwróć uwagę, że niekoniecznie jest to rozmiar zawartości. length odnosi się do ilości pamięci przydzielonej dla obiektu bufora. Nie zmienia się, gdy zmienia się zawartość bufora. |
5 | buf.write(string[, offset][, length][, encoding]) Zapisuje ciąg w buforze z przesunięciem przy użyciu podanego kodowania. offset domyślnie wynosi 0, kodowanie domyślne to „utf8”. length to liczba bajtów do zapisania. Zwraca liczbę zapisanych oktetów. |
6 | buf.writeUIntLE(value, offset, byteLength[, noAssert]) Zapisuje wartość w buforze przy określonym przesunięciu i byteLength. Obsługuje do 48 bitów dokładności. Ustaw noAssert na true, aby pominąć sprawdzanie poprawności wartości i przesunięcia. Domyślnie false. |
7 | buf.writeUIntBE(value, offset, byteLength[, noAssert]) Zapisuje wartość w buforze przy określonym przesunięciu i byteLength. Obsługuje do 48 bitów dokładności. Ustaw noAssert na true, aby pominąć sprawdzanie poprawności wartości i przesunięcia. Domyślnie false. |
8 | buf.writeIntLE(value, offset, byteLength[, noAssert]) Zapisuje wartość w buforze przy określonym przesunięciu i byteLength. Obsługuje do 48 bitów dokładności. Ustaw noAssert na true, aby pominąć sprawdzanie poprawności wartości i przesunięcia. Domyślnie false. |
9 | buf.writeIntBE(value, offset, byteLength[, noAssert]) Zapisuje wartość w buforze przy określonym przesunięciu i byteLength. Obsługuje do 48 bitów dokładności. Ustaw noAssert na true, aby pominąć sprawdzanie poprawności wartości i przesunięcia. Domyślnie false. |
10 | buf.readUIntLE(offset, byteLength[, noAssert]) Uogólniona wersja wszystkich numerycznych metod odczytu. Obsługuje do 48 bitów dokładności. Ustaw noAssert na true, aby pominąć sprawdzanie poprawności przesunięcia. Oznacza to, że przesunięcie może znajdować się poza końcem bufora. Domyślnie false. |
11 | buf.readUIntBE(offset, byteLength[, noAssert]) Uogólniona wersja wszystkich numerycznych metod odczytu. Obsługuje do 48 bitów dokładności. Ustaw noAssert na true, aby pominąć sprawdzanie poprawności przesunięcia. Oznacza to, że przesunięcie może znajdować się poza końcem bufora. Domyślnie false. |
12 | buf.readIntLE(offset, byteLength[, noAssert]) Uogólniona wersja wszystkich numerycznych metod odczytu. Obsługuje do 48 bitów dokładności. Ustaw noAssert na true, aby pominąć sprawdzanie poprawności przesunięcia. Oznacza to, że przesunięcie może znajdować się poza końcem bufora. Domyślnie false. |
13 | buf.readIntBE(offset, byteLength[, noAssert]) Uogólniona wersja wszystkich numerycznych metod odczytu. Obsługuje do 48 bitów dokładności. Ustaw noAssert na true, aby pominąć sprawdzanie poprawności przesunięcia. Oznacza to, że przesunięcie może znajdować się poza końcem bufora. Domyślnie false. |
14 | buf.toString([encoding][, start][, end]) Dekoduje i zwraca ciąg z danych bufora zakodowanych przy użyciu określonego kodowania zestawu znaków. |
15 | buf.toJSON() Zwraca reprezentację JSON wystąpienia Buffer. JSON.stringify niejawnie wywołuje tę funkcję podczas tworzenia ciągu znaków dla wystąpienia buforu. |
16 | buf[index] Pobierz i ustaw oktet na indeks. Wartości odnoszą się do pojedynczych bajtów, więc dozwolony zakres wynosi od 0x00 do 0xFF szesnastkowo lub od 0 do 255. |
17 | buf.equals(otherBuffer) Zwraca wartość logiczną, jeśli ten bufor i otherBuffer mają te same bajty. |
18 | buf.compare(otherBuffer) Zwraca liczbę wskazującą, czy ten bufor znajduje się przed, czy po, czy też jest taki sam jak otherBuffer w kolejności sortowania. |
19 | buf.copy(targetBuffer[, targetStart][, sourceStart][, sourceEnd]) Kopiuje dane z regionu tego buforu do regionu w buforze docelowym, nawet jeśli docelowy region pamięci nakłada się na źródło. Jeśli nie jest zdefiniowana, parametry targetStart i sourceStart mają domyślnie wartość 0, a sourceEnd przyjmuje wartość domyślną buffer.length. |
20 | buf.slice([start][, end]) Zwraca nowy bufor, który odwołuje się do tej samej pamięci, co stary, ale przesunięty i przycięty przez indeksy początkowy (domyślnie 0) i końcowy (domyślnie bufor.length). Indeksy ujemne zaczynają się od końca bufora. |
21 | buf.readUInt8(offset[, noAssert]) Odczytuje 8-bitową liczbę całkowitą bez znaku z bufora przy określonym przesunięciu. Ustaw noAssert na true, aby pominąć sprawdzanie poprawności przesunięcia. Oznacza to, że przesunięcie może znajdować się poza końcem bufora. Domyślnie false. |
22 | buf.readUInt16LE(offset[, noAssert]) Odczytuje 16-bitową liczbę całkowitą bez znaku z bufora przy określonym przesunięciu z określonym formatem Endian. Ustaw noAssert na true, aby pominąć sprawdzanie poprawności przesunięcia. Oznacza to, że przesunięcie może znajdować się poza końcem bufora. Domyślnie false. |
23 | buf.readUInt16BE(offset[, noAssert]) Odczytuje 16-bitową liczbę całkowitą bez znaku z bufora przy określonym przesunięciu z określonym formatem Endian. Ustaw noAssert na true, aby pominąć sprawdzanie poprawności przesunięcia. Oznacza to, że przesunięcie może znajdować się poza końcem bufora. Domyślnie false. |
24 | buf.readUInt32LE(offset[, noAssert]) Odczytuje 32-bitową liczbę całkowitą bez znaku z bufora przy określonym przesunięciu z określonym formatem Endian. Ustaw noAssert na true, aby pominąć sprawdzanie poprawności przesunięcia. Oznacza to, że przesunięcie może znajdować się poza końcem bufora. Domyślnie false. |
25 | buf.readUInt32BE(offset[, noAssert]) Odczytuje 32-bitową liczbę całkowitą bez znaku z bufora przy określonym przesunięciu z określonym formatem Endian. Ustaw noAssert na true, aby pominąć sprawdzanie poprawności przesunięcia. Oznacza to, że przesunięcie może znajdować się poza końcem bufora. Domyślnie false. |
26 | buf.readInt8(offset[, noAssert]) Odczytuje 8-bitową liczbę całkowitą ze znakiem z bufora przy określonym przesunięciu. Ustaw noAssert na true, aby pominąć sprawdzanie poprawności przesunięcia. Oznacza to, że przesunięcie może znajdować się poza końcem bufora. Domyślnie false. |
27 | buf.readInt16LE(offset[, noAssert]) Odczytuje 16-bitową liczbę całkowitą ze znakiem z bufora przy określonym przesunięciu z określonym formatem Endian. Ustaw noAssert na true, aby pominąć sprawdzanie poprawności przesunięcia. Oznacza to, że przesunięcie może znajdować się poza końcem bufora. Domyślnie false. |
28 | buf.readInt16BE(offset[, noAssert]) Odczytuje 16-bitową liczbę całkowitą ze znakiem z bufora przy określonym przesunięciu z określonym formatem Endian. Ustaw noAssert na true, aby pominąć sprawdzanie poprawności przesunięcia. Oznacza to, że przesunięcie może znajdować się poza końcem bufora. Domyślnie false. |
29 | buf.readInt32LE(offset[, noAssert]) Odczytuje podpisaną 32-bitową liczbę całkowitą z bufora przy określonym przesunięciu z określonym formatem Endian. Ustaw noAssert na true, aby pominąć sprawdzanie poprawności przesunięcia. Oznacza to, że przesunięcie może znajdować się poza końcem bufora. Domyślnie false. |
30 | buf.readInt32BE(offset[, noAssert]) Odczytuje podpisaną 32-bitową liczbę całkowitą z bufora przy określonym przesunięciu z określonym formatem Endian. Ustaw noAssert na true, aby pominąć sprawdzanie poprawności przesunięcia. Oznacza to, że przesunięcie może znajdować się poza końcem bufora. Domyślnie false. |
31 | buf.readFloatLE(offset[, noAssert]) Odczytuje 32-bitową liczbę zmiennoprzecinkową z bufora przy określonym przesunięciu z określonym formatem Endian. Ustaw noAssert na true, aby pominąć sprawdzanie poprawności przesunięcia. Oznacza to, że przesunięcie może znajdować się poza końcem bufora. Domyślnie false. |
32 | buf.readFloatBE(offset[, noAssert]) Odczytuje 32-bitową liczbę zmiennoprzecinkową z bufora przy określonym przesunięciu z określonym formatem Endian. Ustaw noAssert na true, aby pominąć sprawdzanie poprawności przesunięcia. Oznacza to, że przesunięcie może znajdować się poza końcem bufora. Domyślnie false. |
33 | buf.readDoubleLE(offset[, noAssert]) Odczytuje 64-bitowy double z bufora o określonym przesunięciu z określonym formatem Endian. Ustaw noAssert na true, aby pominąć sprawdzanie poprawności przesunięcia. Oznacza to, że przesunięcie może znajdować się poza końcem bufora. Domyślnie false. |
34 | buf.readDoubleBE(offset[, noAssert]) Odczytuje 64-bitowy double z bufora o określonym przesunięciu z określonym formatem Endian. Ustaw noAssert na true, aby pominąć sprawdzanie poprawności przesunięcia. Oznacza to, że przesunięcie może znajdować się poza końcem bufora. Domyślnie false. |
35 | buf.writeUInt8(value, offset[, noAssert]) Zapisuje wartość w buforze przy określonym przesunięciu. Należy zauważyć, że wartość musi być prawidłową 8-bitową liczbą całkowitą bez znaku. Ustaw noAssert na true, aby pominąć sprawdzanie poprawności wartości i przesunięcia. Oznacza to, że wartość może być zbyt duża dla określonej funkcji, a przesunięcie może wykraczać poza koniec bufora, co prowadzi do dyskretnego odrzucania wartości. Nie należy go używać, jeśli nie masz pewności co do jego poprawności. Domyślnie false. |
36 | buf.writeUInt16LE(value, offset[, noAssert]) Zapisuje wartość w buforze o określonym przesunięciu z określonym formatem Endian. Należy zauważyć, że wartość musi być prawidłową 16-bitową liczbą całkowitą bez znaku. Ustaw noAssert na true, aby pominąć sprawdzanie poprawności wartości i przesunięcia. Oznacza to, że wartość może być zbyt duża dla określonej funkcji, a przesunięcie może wykraczać poza koniec bufora, co prowadzi do dyskretnego odrzucania wartości. Nie należy go używać, jeśli nie masz pewności co do poprawności. Domyślnie false. |
37 | buf.writeUInt16BE(value, offset[, noAssert]) Zapisuje wartość w buforze o określonym przesunięciu z określonym formatem Endian. Należy zauważyć, że wartość musi być prawidłową 16-bitową liczbą całkowitą bez znaku. Ustaw noAssert na true, aby pominąć sprawdzanie poprawności wartości i przesunięcia. Oznacza to, że wartość może być zbyt duża dla określonej funkcji, a przesunięcie może wykraczać poza koniec bufora, co prowadzi do dyskretnego odrzucania wartości. Nie należy go używać, jeśli nie masz pewności co do jego poprawności. Domyślnie false. |
38 | buf.writeUInt32LE(value, offset[, noAssert]) Zapisuje wartość w buforze o określonym przesunięciu z określonym formatem Endian. Należy pamiętać, że wartość musi być poprawną 32-bitową liczbą całkowitą bez znaku. Ustaw noAssert na true, aby pominąć sprawdzanie poprawności wartości i przesunięcia. Oznacza to, że wartość może być zbyt duża dla określonej funkcji, a przesunięcie może wykraczać poza koniec bufora, co prowadzi do dyskretnego odrzucania wartości. Nie należy go używać, jeśli nie masz pewności co do jego poprawności. Domyślnie false. |
39 | buf.writeUInt32BE(value, offset[, noAssert]) Zapisuje wartość w buforze o określonym przesunięciu z określonym formatem Endian. Należy pamiętać, że wartość musi być poprawną 32-bitową liczbą całkowitą bez znaku. Ustaw noAssert na true, aby pominąć sprawdzanie poprawności wartości i przesunięcia. Oznacza to, że wartość może być zbyt duża dla określonej funkcji, a przesunięcie może wykraczać poza koniec bufora, co prowadzi do dyskretnego odrzucania wartości. Nie należy go używać, jeśli nie masz pewności co do jego poprawności. Domyślnie false. |
40 | buf.writeInt8(value, offset[, noAssert]) Zapisuje wartość w buforze o określonym przesunięciu z określonym formatem Endian. Należy pamiętać, że wartość musi być prawidłową 8-bitową liczbą całkowitą ze znakiem. Ustaw noAssert na true, aby pominąć sprawdzanie poprawności wartości i przesunięcia. Oznacza to, że wartość może być zbyt duża dla określonej funkcji, a przesunięcie może wykraczać poza koniec bufora, co prowadzi do dyskretnego odrzucania wartości. Nie należy go używać, jeśli nie masz pewności co do jego poprawności. Domyślnie false. |
41 | buf.writeInt16LE(value, offset[, noAssert]) Zapisuje wartość w buforze o określonym przesunięciu z określonym formatem Endian. Należy pamiętać, że wartość musi być prawidłową 16-bitową liczbą całkowitą ze znakiem. Ustaw noAssert na true, aby pominąć sprawdzanie poprawności wartości i przesunięcia. Oznacza to, że wartość może być zbyt duża dla określonej funkcji, a przesunięcie może wykraczać poza koniec bufora, co prowadzi do dyskretnego odrzucania wartości. Nie należy go używać, jeśli nie masz pewności co do jego poprawności. Domyślnie false. |
42 | buf.writeInt16BE(value, offset[, noAssert]) Zapisuje wartość w buforze o określonym przesunięciu z określonym formatem Endian. Należy pamiętać, że wartość musi być prawidłową 16-bitową liczbą całkowitą ze znakiem. Ustaw noAssert na true, aby pominąć sprawdzanie poprawności wartości i przesunięcia. Oznacza to, że wartość może być zbyt duża dla określonej funkcji, a przesunięcie może wykraczać poza koniec bufora, co prowadzi do dyskretnego odrzucania wartości. Nie należy go używać, jeśli nie masz pewności co do jego poprawności. Domyślnie false. |
43 | buf.writeInt32LE(value, offset[, noAssert]) Zapisuje wartość w buforze o określonym przesunięciu z określonym formatem Endian. Należy pamiętać, że wartość musi być poprawną 32-bitową liczbą całkowitą ze znakiem. Ustaw noAssert na true, aby pominąć sprawdzanie poprawności wartości i przesunięcia. Oznacza to, że wartość może być zbyt duża dla określonej funkcji, a przesunięcie może wykraczać poza koniec bufora, co prowadzi do dyskretnego odrzucania wartości. Nie należy go używać, jeśli nie masz pewności co do jego poprawności. Domyślnie false. |
44 | buf.writeInt32BE(value, offset[, noAssert]) Zapisuje wartość w buforze o określonym przesunięciu z określonym formatem Endian. Należy pamiętać, że wartość musi być poprawną 32-bitową liczbą całkowitą ze znakiem. Ustaw noAssert na true, aby pominąć sprawdzanie poprawności wartości i przesunięcia. Oznacza to, że wartość może być zbyt duża dla określonej funkcji, a przesunięcie może wykraczać poza koniec bufora, co prowadzi do dyskretnego odrzucania wartości. Nie należy go używać, jeśli nie masz pewności co do poprawności. Domyślnie false. |
45 | buf.writeFloatLE(value, offset[, noAssert]) Zapisuje wartość w buforze o określonym przesunięciu z określonym formatem Endian. Zwróć uwagę, że wartość musi być poprawną 32-bitową liczbą zmiennoprzecinkową. Ustaw noAssert na true, aby pominąć sprawdzanie poprawności wartości i przesunięcia. Oznacza to, że wartość może być zbyt duża dla określonej funkcji, a przesunięcie może wykraczać poza koniec bufora, co prowadzi do cichego odrzucania wartości. Nie należy go używać, jeśli nie masz pewności co do jego poprawności. Domyślnie false. |
46 | buf.writeFloatBE(value, offset[, noAssert]) Zapisuje wartość w buforze o określonym przesunięciu z określonym formatem Endian. Uwaga: wartość musi być prawidłową 32-bitową liczbą zmiennoprzecinkową. Ustaw noAssert na true, aby pominąć sprawdzanie poprawności wartości i przesunięcia. Oznacza to, że wartość może być zbyt duża dla określonej funkcji, a przesunięcie może wykraczać poza koniec bufora, co prowadzi do dyskretnego odrzucania wartości. Nie należy go używać, jeśli nie masz pewności co do jego poprawności. Domyślnie false. |
47 | buf.writeDoubleLE(value, offset[, noAssert]) Zapisuje wartość w buforze o określonym przesunięciu z określonym formatem Endian. Uwaga, wartość musi być poprawną 64-bitową podwójną wartością. Ustaw noAssert na true, aby pominąć sprawdzanie poprawności wartości i przesunięcia. Oznacza to, że wartość może być zbyt duża dla określonej funkcji, a przesunięcie może znajdować się poza końcem bufora, co prowadzi do dyskretnego odrzucania wartości. Nie należy go używać, jeśli nie masz pewności co do jego poprawności. Domyślnie false. |
48 | buf.writeDoubleBE(value, offset[, noAssert]) Zapisuje wartość w buforze o określonym przesunięciu z określonym formatem Endian. Uwaga, wartość musi być poprawną 64-bitową podwójną wartością. Ustaw noAssert na true, aby pominąć sprawdzanie poprawności wartości i przesunięcia. Oznacza to, że wartość może być zbyt duża dla określonej funkcji, a przesunięcie może wykraczać poza koniec bufora, co prowadzi do dyskretnego odrzucania wartości. Nie należy go używać, jeśli nie masz pewności co do jego poprawności. Domyślnie false. |
49 | buf.fill(value[, offset][, end]) Wypełnia bufor określoną wartością. Jeśli przesunięcie (domyślnie 0) i koniec (domyślnie bufor.length) nie są podane, wypełni cały bufor. |
Metody klasowe
Sr.No. | Metoda i opis |
---|---|
1 | Buffer.isEncoding(encoding) Zwraca wartość true, jeśli kodowanie jest prawidłowym argumentem kodowania, w przeciwnym razie zwraca wartość false. |
2 | Buffer.isBuffer(obj) Sprawdza, czy obj jest buforem. |
3 | Buffer.byteLength(string[, encoding]) Podaje rzeczywistą długość w bajtach łańcucha. kodowanie domyślne to „utf8”. To nie to samo, co String.prototype.length, ponieważ String.prototype.length zwraca liczbę znaków w ciągu. |
4 | Buffer.concat(list[, totalLength]) Zwraca bufor będący wynikiem konkatenacji wszystkich buforów na liście. |
5 | Buffer.compare(buf1, buf2) To samo co buf1.compare (buf2). Przydatne do sortowania tablicy buforów. |