JavaScript'te Buffer Nesnesi: Anlatım ve Örnekler
Buffer, JavaScript'te ham verileri temsil etmek için kullanılan bir veri türüdür. Genellikle dosyalardan veya ağ bağlantıları üzerinden gelen ikili verileri (binary data) işlemek için kullanılır. Normal JavaScript dizileri, yalnızca Unicode karakterleri temsil edebildiği için, ikili verileri işlemek için Buffer nesnesi kullanılır.
Buffer nesnesi, Node.js'te yerleşik bir modül olarak mevcuttur. Bu modülü kullanmak için öncelikle onu içe aktarmanız gerekir.
const Buffer = require('buffer').Buffer;
Buffer nesnesi, bir dizi bayt (byte) içerir. Her bir bayt, 0 ile 255 arasında bir tam sayı değerine sahiptir. Buffer nesnesini oluşturmanın birkaç yolu vardır:
- Bir dizeyi belirli bir kodlama şemasına dönüştürerek:
const buffer = Buffer.from('Merhaba Dünya', 'utf8');
- Bir dizi baytı kullanarak:
const buffer = Buffer.from([1, 2, 3, 4, 5]);
- Başka bir Buffer nesnesinden kopyalayarak:
const buffer1 = Buffer.from('Merhaba Dünya', 'utf8');
const buffer2 = Buffer.from(buffer1);
Buffer nesnesinin temel yöntemleri şunlardır:
- toString(): Buffer nesnesini bir dizeye dönüştürür.
- length: Buffer nesnesindeki bayt sayısını döndürür.
- readUInt8(offset): Belirtilen offset'teki baytı unsigned bir tam sayı olarak okur.
- writeUInt8(value, offset): Belirtilen offset'e unsigned bir tam sayı yazar.
- copy(targetBuffer, targetStart, sourceStart, sourceEnd): Buffer nesnesini başka bir Buffer nesnesine kopyalar.
Buffer nesneleri, ağ trafiğini işlemek, dosyaları okumak ve yazmak, şifreleme ve karma algoritmaları uygulamak gibi birçok farklı görevde kullanılır.
Örnek Kullanım:
const Buffer = require('buffer').Buffer;
// Dosya içeriğini okumak
const fs = require('fs');
const filename = 'dosya.txt';
fs.readFile(filename, (err, data) => {
if (err) throw err;
console.log(data.toString('utf8'));
});
// Buffer nesnesini oluşturmak
const buffer = Buffer.from('Merhaba Dünya', 'utf8');
// Buffer nesnesini bir dizeye dönüştürmek
const string = buffer.toString('utf8');
// Buffer nesnesindeki baytları okumak
const firstByte = buffer.readUInt8(0);
// Buffer nesnesine bayt yazmak
buffer.writeUInt8(255, 0);
// Buffer nesnesini kopyalamak
const newBuffer = Buffer.alloc(buffer.length);
buffer.copy(newBuffer, 0, 0, buffer.length);
Bu örnek, Buffer nesnelerinin dosya içeriğini okumak, ikili verileri işlemek ve farklı formatlar arasında dönüştürmek için nasıl kullanılabileceğini göstermektedir. Buffer nesneleri, Node.js'de düşük seviyeli verileri işlemek için güçlü bir araçtır.
Hiç yorum yok:
Yorum Gönder