Làm cách nào để sao chép, so sánh và ghép nối bộ đệm trong Node.js?

Lam Cach Nao De Sao Chep So Sanh Va Ghep Noi Bo Dem Trong Node Js



Bộ đệm là tập hợp dữ liệu nhị phân được lưu trữ tạm thời trong một bộ nhớ cụ thể. Mục đích chính của nó là quản lý và chuyển dữ liệu nhị phân được lưu trữ từ nơi này sang nơi khác. Trong Node.js, người dùng có thể truy cập vào bộ nhớ cụ thể đó với sự trợ giúp của mô-đun “Bộ đệm” tích hợp.

Bộ đệm tương tự như “mảng” JavaScript nhưng có một điểm khác biệt, đó là kích thước của nó không thể thay đổi sau khi đã được đặt. Các tính năng chung của mô-đun này là viết, đọc, so sánh, sao chép, chuyển đổi và nhiều tính năng khác. Tất cả các hoạt động được chỉ định có thể được thực hiện bằng các phương thức và thuộc tính tích hợp của nó.

Blog này sẽ cung cấp mô tả ngắn gọn về cách sao chép, so sánh và ghép nối bộ đệm trong Node.js.







Hãy bắt đầu với thao tác “sao chép”.



Làm cách nào để sao chép bộ đệm trong Node.js?

Các ' Bộ đệm.copy() ” Phương thức cho phép người dùng sao chép một đối tượng đệm này sang đối tượng đệm khác. Kết quả là phương thức này trả về một bộ đệm mới được cập nhật. Hoạt động của phương pháp này phụ thuộc vào cú pháp sau:



buf. sao chép ( bộ đệm đích [ , mục tiêuBắt đầu ] [ , nguồnBắt đầu ] [ , nguồnCuối ] )

Theo cú pháp trên, phương thức “copy()” thực hiện các tham số sau:





  • bộ đệm đích : Nó chỉ định đối tượng Bộ đệm có nội dung cần được sao chép sang đối tượng bộ đệm khác.
  • mục tiêuBắt đầu : Nó biểu thị vị trí mà quá trình sao chép sẽ bắt đầu. Giá trị mặc định của nó là “0”.
  • nguồnBắt đầu : Nó biểu thị vị trí mà thao tác sao chép sẽ bắt đầu. Giá trị mặc định của nó là “0”.
  • nguồnCuối : Nó thể hiện vị trí kết thúc nơi thao tác sao chép sẽ dừng lại. Giá trị mặc định của nó là “kết thúc bộ đệm”.

Khối mã sau đây cho thấy cách triển khai thực tế của phương thức “copy()”:

đã từng là buf1 = Đệm. từ ( '123' ) ;
đã từng là buf2 = Đệm. phân bổ ( 3 ) ;
buf1. sao chép ( buf2 ) ;
bảng điều khiển. nhật ký ( 'Nội dung của Buffer2 là:' + buf2. toString ( ) ) ;

Trong các dòng mã trên:



  • Các ' từ() ” Phương thức tạo một đối tượng đệm với các số nguyên được chỉ định.
  • Các ' cấp phát() ” xây dựng một đối tượng đệm có kích thước được phân bổ.
  • Các ' sao chép() Phương thức ” sao chép nội dung có sẵn của bộ đệm đầu tiên vào đối tượng bộ đệm thứ hai.
  • Các ' toString() Phương thức ” giải mã nội dung được sao chép thành định dạng chuỗi (người có thể đọc được) và sau đó hiển thị nó trong bảng điều khiển bằng cách sử dụng “ console.log() ' phương pháp.

đầu ra
Thực thi lệnh đã cho để khởi tạo tệp “.js”:

ứng dụng nút. js

Có thể thấy nội dung của một bộ đệm đã được sao chép sang bộ đệm thứ hai:

Làm cách nào để so sánh bộ đệm trong Node.js?

Để so sánh bộ đệm trong Node.js, hãy sử dụng “ Bộ đệm.compare() ' phương pháp. Phương pháp này so sánh hai bộ đệm và trả về một giá trị số làm đầu ra tiêu chuẩn cho thấy sự khác biệt đã xác định. Các giá trị số này được liệt kê bên dưới cùng với những khác biệt được xác định của chúng:

  • 0 : Bộ đệm bằng nhau.
  • 1 : Bộ đệm 1 lớn hơn Bộ đệm 2.
  • -1 : Bộ đệm 1 thấp hơn Bộ đệm 2.

Cú pháp

buf. so sánh ( bộ đệm khác ) ;

Cú pháp của phương thức “compare()” chỉ hỗ trợ một đối số thiết yếu là “ bộ đệm khác ”.

Hãy sử dụng cú pháp được xác định ở trên một cách thực tế:

đã từng là buf1 = Đệm. từ ( 'Linux' ) ;
đã từng là buf2 = Đệm. từ ( 'Linux' ) ;
đã từng là x = Đệm. so sánh ( buf1 , buf2 ) ;
bảng điều khiển. nhật ký ( x ) ;

đã từng là buf1 = Đệm. từ ( 'L' ) ;
đã từng là buf2 = Đệm. từ ( 'H' ) ;
đã từng là x = Đệm. so sánh ( buf1 , buf2 ) ;
bảng điều khiển. nhật ký ( x ) ;

đã từng là buf1 = Đệm. từ ( 'H' ) ;
đã từng là buf2 = Đệm. từ ( 'L' ) ;
đã từng là x = Đệm. so sánh ( buf1 , buf2 ) ;
bảng điều khiển. nhật ký ( x ) ;

Trong các dòng mã trên:

  • Các ' từ() ” phương thức tạo nhiều đối tượng đệm với chuỗi được chỉ định.
  • Các ' so sánh() ” phương thức so sánh các đối tượng bộ đệm được chỉ định được truyền làm đối số của nó.
  • Các ' console.log() Phương thức ” hiển thị kết quả của phương thức “so sánh()” trên bảng điều khiển.

đầu ra
Chạy tệp “.js” bằng lệnh bên dưới:

ứng dụng nút. js

Các giá trị số được hiển thị dưới dạng kết quả đầu ra cho thấy rõ sự khác biệt được xác định:

Bây giờ, chuyển sang ghép các bộ đệm trong Node.js.

Làm cách nào để ghép nối bộ đệm trong Node.js?

Các ' concat() ” Phương thức giúp nối nhiều hơn một bộ đệm. Phương thức này nối tất cả các bộ đệm được nhắm mục tiêu trong một mảng thành một đối tượng bộ đệm bằng cách hợp nhất nội dung của chúng.

Cú pháp

Đệm. concat ( arr , chiều dài ] )

Cú pháp trên hoạt động trên hai tham số sau:

  • arr : Nó chỉ định mảng bộ đệm mà người dùng muốn nối.
  • chiều dài : Nó biểu thị độ dài của bộ đệm được nối.

Đoạn mã sau thực tế nối các bộ đệm đã cho bằng cách sử dụng phương thức “concat()” đã xác định:

đã từng là buf1 = Đệm. từ ( ' \N Linux \N ' ) ;
đã từng là buf2 = Đệm. từ ( 'Trang mạng' ) ;
đã từng là buf3 = Đệm. concat ( [ buf1 , buf2 ] ) ;
bảng điều khiển. nhật ký ( 'Nội dung của Buffer3 là:' + buf3. toString ( ) ) ;

Trong đoạn mã trên:

  • Các ' từ() ” phương thức tạo hai đối tượng đệm với chuỗi được chỉ định tương ứng.
  • Các ' concat() ” Phương thức nối bộ đệm đã chỉ định trong một mảng thành một đối tượng bộ đệm.
  • Các ' toString() Phương thức ” giải mã nội dung của bộ đệm được nối thành định dạng chuỗi (người có thể đọc được) và sau đó hiển thị nó trong bảng điều khiển bằng cách sử dụng “ console.log() ' phương pháp.

đầu ra
Bây giờ, hãy chạy lệnh dưới đây để thực thi tệp “.js”:

ứng dụng nút. js

Đầu ra hiển thị một đối tượng bộ đệm mới được tạo trong kết quả nối của bộ đệm đã chỉ định:

Chúng tôi đã đề cập đến cách sao chép, so sánh và ghép nối bộ đệm trong Nodejs.

Phần kết luận

Để sao chép bộ đệm trong Nodejs, hãy sử dụng lệnh “ Bộ đệm.copy() ” và nhằm mục đích so sánh, hãy áp dụng “ Bộ đệm.compare() ' phương pháp. Ngoài ra, để nối các bộ đệm, hãy sử dụng “ Bộ đệm.concat() ' phương pháp. Tất cả các phương pháp này đều được xác định trước, đơn giản và dễ sử dụng. Bài đăng này đã cung cấp mô tả ngắn gọn về cách sao chép, so sánh và ghép nối bộ đệm trong Node.js.