Buffer nedir?
- Node.js kursu
- Orta seviye
- Ders 53/116
- 5 dk
Buffer ile binary veri yönetimini öğrenirsin.
Buffer nedir?
Buffer, Node.js'te sabit boyutlu binary (ikili) veri tutan bir nesnedir. Ham bellek ayırır; yani V8 motorunun yığını dışında bir alan kullanır. Dosya okuma, ağ akışı ve şifreleme gibi işlerde byte dizileriyle çalışmanı sağlar.
JavaScript'in normal dizileri sayı tutabilir ama her eleman için ek yük taşır. Buffer ise doğrudan byte seviyesinde çalışır: her eleman 0 ile 255 arası bir değerdir. Bir buffer'ı Buffer.alloc(4) ile dört byte sıfırla doldurarak oluşturabilirsin. Çıktıda <Buffer 00 00 00 00> görürsün.
Buffer'ın yapısı
Bir buffer'ın uzunluğu oluşturulduğunda sabitlenir; sonradan değişmez. buf.length özelliği byte sayısını verir. Her byte'a buf[i] ile erişebilirsin; bu, 0-255 arası bir sayı döndürür.
Örneğin Buffer.from("Ab") iki bytelık bir buffer yapar: buf[0] değeri 65 (A harfının ASCII kodu), buf[1] değeri 98'dir. Buffer'lar değiştirilebilir (mutable): buf[0] = 66 yazınca ilk byte B harfine dönüşür. Bu, dizelerin aksine buffer'ların içeriğinin yerinde değiştirilebileceği anlamına gelir.
Uygulama Buffer oluştur ve yazdır
Buffer.alloc(4) ile dört bytelık bir buffer oluştur. console.log ile yazdır.
Başlangıç kodu
// Dört bytelık buffer oluştur
// buraya yaz
// Buffer'ı yazdır
// buraya yazÖrnek çözüm
const buf = Buffer.alloc(4);
console.log(buf);Beklenen çıktı
<Buffer 00 00 00 00>
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Buffer hangi amaçla kullanılır?
Buffer.alloc(4)- Binary veri ile çalışmak için Doğru cevap
- Sadece metin depolamak için
- Sınıf tanımlamak için
- DOM manipülasyonu için
Açıklama: Buffer, byte seviyesinde binary veri tutar.
2 Buffer oluştur
const buf = Buffer.____(4);
const buf = Buffer.alloc(4);
Açıklama: Buffer.alloc(4) dört bytelık sıfırlı buffer yapar.
3 Parçayı rolüne eşle
| Kavram | Anlamı |
|---|---|
Buffer |
Binary veri tutar |
buf.length |
Byte sayısını verir |
buf[0] |
İlk byte'a erişir |
0-255 |
Bir byte'ın değer aralığı |