Node.js'de Bir Tampon Nasıl Kopyalanır, Karşılaştırılır ve Birleştirilir?

Node Js De Bir Tampon Nasil Kopyalanir Karsilastirilir Ve Birlestirilir



Tampon, belirli bir bellekte geçici olarak saklanan ikili verilerin toplanmasıdır. Temel amacı depolanan ikili verileri yönetmek ve bir yerden başka bir yere aktarmaktır. Node.js'de kullanıcı, yerleşik 'Buffer' modülünün yardımıyla söz konusu belleğe erişebilir.

Tampon, JavaScript 'dizisine' daha çok benzer ancak bir farkla, yani boyutu ayarlandıktan sonra değiştirilemez. Bu modülün ortak özellikleri yazma, okuma, karşılaştırma, kopyalama, dönüştürme ve daha birçok özelliktir. Belirtilen işlemlerin tümü yerleşik yöntemler ve özellikler kullanılarak gerçekleştirilebilir.

Bu blog, Node.js'de bir arabelleğin kopyalanması, karşılaştırılması ve birleştirilmesine ilişkin kısa bir açıklama sağlayacaktır.







“Kopyalama” işlemiyle başlayalım.



Node.js'de Bir Tampon Nasıl Kopyalanır?

Tampon.kopya() ” yöntemi, kullanıcıların bir arabellek nesnesini diğerine kopyalamasına olanak tanır. Bu yöntem sonuç olarak yeni güncellenen bir arabellek döndürür. Bu yöntemin çalışması aşağıdaki sözdizimine bağlıdır:



dostum. kopyala ( hedef arabellek [ , hedefBaşlangıç ] [ , kaynakBaşlat ] [ , kaynakSonu ] )

Yukarıdaki sözdizimine göre, “copy()” yöntemi aşağıdaki parametreleri görevlendirir:





  • hedef arabellek : İçeriğinin başka bir tampon nesnesine kopyalanması gereken Buffer nesnesini belirtir.
  • hedefBaşlangıç : Kopyalama işleminin başlayacağı konumu belirtir. Varsayılan değeri “0”dır.
  • kaynakBaşlat : Kopyalama işleminin başlayacağı konumu belirtir. Varsayılan değeri “0”dır.
  • kaynakSonu : Kopyalama işleminin duracağı bitiş konumunu temsil eder. Varsayılan değeri “arabelleğin sonu”dur.

Aşağıdaki kod bloğu “copy()” yönteminin pratik uygulamasını göstermektedir:

öyleydi buf1 = Tampon. itibaren ( '123' ) ;
öyleydi buf2 = Tampon. tahsis ( 3 ) ;
buf1. kopyala ( buf2 ) ;
konsol. kayıt ( 'Buffer2'nin içeriği: ' + buf2. toString ( ) ) ;

Yukarıdaki kod satırlarında:



  • itibaren() ” yöntemi belirtilen tamsayılarla bir tampon nesnesi oluşturur.
  • tahsis() ” yöntemi, tahsis edilen boyutta bir tampon nesnesi oluşturur.
  • kopya() ” yöntemi, ilk arabelleğin önceden var olan içeriğini ikinci arabellek nesnesine kopyalar.
  • toString() ” yöntemi, kopyalanan içeriğin kodunu dize biçiminde (insan tarafından okunabilir) çözer ve ardından “ console.log() ' yöntem.

Çıktı
“.js” dosyasını başlatmak için verilen komutu yürütün:

düğüm uygulaması js

Bir arabelleğin içeriğinin ikinci arabelleğe kopyalandığı görülebilir:

Node.js'de Bir Tampon Nasıl Karşılaştırılır?

Node.js'deki bir arabelleği karşılaştırmak için yerleşik ' Buffer.compare() ' yöntem. Bu yöntem iki arabelleği karşılaştırır ve tanımlanmış farklılıkları gösteren standart çıktı olarak sayısal bir değer döndürür. Bu sayısal değerler tanımlanmış farklarıyla birlikte aşağıda listelenmiştir:

  • 0 : Tamponlar eşittir.
  • 1 : Tampon 1, Tampon 2'den daha büyüktür.
  • -1 : Tampon 1, Tampon 2'den daha düşüktür.

Sözdizimi

dostum. karşılaştırmak ( diğerTampon ) ;

“Compare()” yönteminin sözdizimi yalnızca tek bir temel argümanı destekler: “ diğerTampon ”.

Yukarıda tanımlanan sözdizimini pratik olarak kullanalım:

öyleydi buf1 = Tampon. itibaren ( 'Linux' ) ;
öyleydi buf2 = Tampon. itibaren ( 'Linux' ) ;
öyleydi X = Tampon. karşılaştırmak ( buf1 , buf2 ) ;
konsol. kayıt ( X ) ;

öyleydi buf1 = Tampon. itibaren ( 'L' ) ;
öyleydi buf2 = Tampon. itibaren ( 'H' ) ;
öyleydi X = Tampon. karşılaştırmak ( buf1 , buf2 ) ;
konsol. kayıt ( X ) ;

öyleydi buf1 = Tampon. itibaren ( 'H' ) ;
öyleydi buf2 = Tampon. itibaren ( 'L' ) ;
öyleydi X = Tampon. karşılaştırmak ( buf1 , buf2 ) ;
konsol. kayıt ( X ) ;

Yukarıdaki kod satırlarında:

  • itibaren() ” yöntemleri, belirtilen dizeyle birden çok arabellek nesnesi oluşturur.
  • karşılaştırmak() ” yöntemi, argümanı olarak iletilen belirtilen arabellek nesnelerini karşılaştırır.
  • console.log() ” yöntemi, konsoldaki “compare()” yönteminin sonucunu görüntüler.

Çıktı
Aşağıdaki komutu kullanarak “.js” dosyasını çalıştırın:

düğüm uygulaması js

Sonuçta ortaya çıkan çıktı olarak görüntülenen sayısal değerler, tanımlanan farkı açıkça gösterir:

Şimdi Node.js'de arabelleklerin birleştirilmesine geçin.

Node.js'de Tamponlar Nasıl Birleştirilir?

birleştirme() ” yöntemi birden fazla tamponun birleştirilmesine yardımcı olur. Bu yöntem, bir dizideki hedeflenen tüm arabellekleri, içeriklerini birleştirerek tek bir arabellek nesnesinde birleştirir.

Sözdizimi

Tampon. birleştirme ( varış , uzunluk ] )

Yukarıdaki sözdizimi aşağıdaki iki parametre üzerinde çalışır:

  • varış : Kullanıcıların birleştirmek istediği arabellek dizisini belirtir.
  • uzunluk : Birleştirilmiş arabelleğin uzunluğunu belirtir.

Aşağıdaki kod parçacığı, tanımlanan “concat()” yöntemini kullanarak verilen arabellekleri pratik olarak birleştirir:

öyleydi buf1 = Tampon. itibaren ( ' \N Linux \N ' ) ;
öyleydi buf2 = Tampon. itibaren ( 'İnternet sitesi' ) ;
öyleydi buf3 = Tampon. birleştirme ( [ buf1 , buf2 ] ) ;
konsol. kayıt ( 'Buffer3'ün içeriği: ' + buf3. toString ( ) ) ;

Yukarıdaki kod parçacığında:

  • itibaren() ” yöntemleri, belirtilen dizeyle sırasıyla iki tampon nesnesi oluşturur.
  • birleştirme() ” yöntemi, bir dizideki belirtilen arabelleği bir arabellek nesnesine birleştirir.
  • toString() ” yöntemi, birleştirilmiş arabelleğin içeriğinin kodunu dize biçiminde (insan tarafından okunabilir) çözer ve ardından “'yi kullanarak bunu konsolda görüntüler. console.log() ' yöntem.

Çıktı
Şimdi “.js” dosyasını çalıştırmak için aşağıdaki komutu çalıştırın:

düğüm uygulaması js

Çıktı, belirtilen arabelleklerin birleştirme sonucunda oluşturulan yeni bir arabellek nesnesini görüntüler:

Nodejs'de tamponun nasıl kopyalanacağını, karşılaştırılacağını ve birleştirileceğini ele aldık.

Çözüm

Arabelleği Nodejs'e kopyalamak için “ Tampon.kopya() ” ve karşılaştırma amacıyla “ Buffer.compare() ' yöntem. Ayrıca arabellekleri birleştirmek için “ Buffer.concat() ' yöntem. Tüm bu yöntemler önceden tanımlanmış, basit ve kullanımı kolaydır. Bu yazıda Node.js'de bir arabelleğin kopyalanması, karşılaştırılması ve birleştirilmesine ilişkin kısa bir açıklama sağlanmıştır.