Bộ đệm Nodejs từ chuỗi

Nodejs và JavaScript dựa trên trình duyệt khác nhau vì Node có cách xử lý dữ liệu nhị phân ngay cả trước khi bản nháp ES6 ra đời với ArrayBuffer. Trong Node, lớp Buffer là cấu trúc dữ liệu chính được sử dụng với hầu hết các hoạt động I/O. Đó là dữ liệu nhị phân thô được phân bổ bên ngoài heap V8 và sau khi được phân bổ, không thể thay đổi kích thước

Trước Nodejs v6. 0, để tạo bộ đệm mới, bạn chỉ cần gọi hàm tạo bằng từ khóa new

Để tạo một thể hiện bộ đệm mới, trong các bản phát hành ổn định mới nhất và hiện tại của Node

Hàm tạo new Buffer() không được dùng nữa và được thay thế bằng các phương thức riêng biệt Buffer.from(), Buffer.alloc()Buffer.allocUnsafe()

Thông tin thêm có thể được đọc thông qua tài liệu chính thức

Chuyển đổi bộ đệm thành JSON

Bộ đệm có thể chuyển đổi thành JSON

JSON chỉ định rằng loại đối tượng đang được chuyển đổi là Buffer và dữ liệu của nó

Chuyển đổi JSON sang bộ đệm

Chuyển đổi bộ đệm thành chuỗi Utf-8

.toString() không phải là cách duy nhất để chuyển đổi bộ đệm thành chuỗi. Ngoài ra, theo mặc định, nó chuyển đổi thành chuỗi định dạng utf-8

Một cách khác để chuyển đổi bộ đệm thành chuỗi là sử dụng mô-đun lõi ArrayBuffer0 từ API Nodejs

Bạn muốn nhận được nhiều bài viết như thế này? . Đôi khi, tôi gửi nội dung “chưa từng thấy trước đây” cho người đăng ký của mình

May mắn thay, nút. js đi kèm với các công cụ sẵn có để làm việc với bộ đệm bằng cách sử dụng đối tượng globalBuffer. Vì vậy, bạn không cần bất kỳ thư viện bên ngoài nào cho nó

Chuyển đổi chuỗi thành bộ đệm

Để tạo bộ đệm từ một chuỗi, bạn có thể sử dụng phương thức ArrayBuffer2. Bạn không cần phải nhập/yêu cầu nó một cách rõ ràng, đối tượng Buffer có sẵn trong phạm vi toàn cầu

Nếu vì bất kỳ lý do gì, Nút của bạn. js gây ra lỗi vì bạn chưa nhập nó, bạn vẫn có thể nhập nó một cách rõ ràng bằng cách sau

const { Buffer } = require('buffer');
// OR
import { Buffer } from 'buffer';

Đoạn mã sau đây cho thấy việc khởi tạo một chuỗi và chuyển đổi của nó thành bộ đệm

Là đối số đầu tiên, phương thức ArrayBuffer2, chấp nhận một chuỗi. Mặc dù phương thức tĩnh bị quá tải, các loại đầu vào khác cũng có thể. Đối số thứ hai mong đợi mã hóa tùy chọn khi bạn quyết định nhập chuỗi. Trong hầu hết các trường hợp, khi làm việc với chuỗi, bạn sẽ muốn sử dụng ArrayBuffer5. Mặc dù bạn không cần phải đặt rõ ràng mã hóa ArrayBuffer5 vì dù sao đó cũng là mã hóa mặc định

Chữ ký phương thức cuối cùng trông như thế này. ArrayBuffer7

Chuyển Bơ thành Chuỗi

Thật đơn giản và được hỗ trợ nguyên bản khi bạn muốn chuyển đổi bộ đệm trở lại chuỗi

Đối tượng bộ đệm đã tạo có phương thức ArrayBuffer8 chuyển bộ đệm trở lại thành chuỗi

Ví dụ: trong đoạn mã sau, bạn có thể thấy cách chúng tôi tạo bộ đệm mới từ một chuỗi, giống như trên, sau đó sử dụng phương thức ArrayBuffer8 để chuyển đổi bộ đệm trở lại chuỗi ban đầu của chúng tôi

Tương tự như phương thức ArrayBuffer2, phương thức ArrayBuffer8 cũng có một đối số Buffer2 tùy chọn, bên cạnh một vài tham số tùy chọn khác

❮ Mô-đun đệm


Ví dụ

Tạo một bộ đệm mới chứa đầy các chữ cái 'abc'

var buf = Bộ đệm. from('abc');

bảng điều khiển. nhật ký (buf);

Chạy ví dụ »


Định nghĩa và cách sử dụng

bộ đệm. phương thức from() tạo một bộ đệm mới chứa chuỗi, mảng hoặc bộ đệm đã chỉ định


cú pháp

Đệm. from(obj, mã hóa);


Giá trị tham số

Tham sốMô tảobjBắt buộc. Một đối tượng để lấp đầy bộ đệm với. Các loại đối tượng pháp lý.
Chuỗi
Mảng
Bộ đệm
mã hóa bộ đệm mảngKhông bắt buộc. Nếu đối tượng là một chuỗi, tham số này được sử dụng để chỉ định mã hóa của nó. Mặc định "utf8"

chi tiết kỹ thuật

Giá trị trả về. Một đối tượng đệmNode. phiên bản js. 5. 10. 0

❮ Mô-đun đệm


❮ Mô-đun đệm


Ví dụ

Hiển thị đối tượng đệm dưới dạng chuỗi

var buf = Bộ đệm. from('abc');

bảng điều khiển. nhật ký (buf. toString());

Chạy ví dụ »


Định nghĩa và cách sử dụng

Phương thức toString() trả về đối tượng bộ đệm theo mã hóa đã chỉ định


cú pháp

đệm. toString(mã hóa, bắt đầu, kết thúc);


Giá trị tham số

Tham sốMô tảMã hóaTùy chọn. Mã hóa để sử dụng trong giá trị trả về. Mặc định 'utf8'startTùy chọn. Bắt đầu từ đâu. Mặc định 0endTùy chọn. kết thúc ở đâu. Mặc định ở cuối bộ đệm

chi tiết kỹ thuật

Giá trị trả về. Một nút đệm. phiên bản js. 0. 1. 90

❮ Mô-đun đệm


Làm cách nào để chuyển đổi chuỗi thành bộ đệm trong nodejs?

Vậy làm cách nào để chuyển đổi chuỗi trở lại bộ đệm. var bufStr = Bộ đệm. concat(stdOut). toString('utf-8'); // chuyển đổi bufStr trở lại chỉ Bộ đệm.

Làm cách nào để phân tích bộ đệm thành chuỗi?

Bộ đệm có phương thức toString() mà bạn có thể sử dụng để chuyển đổi bộ đệm thành chuỗi. Theo mặc định, toString() chuyển đổi bộ đệm thành chuỗi bằng cách sử dụng mã hóa UTF8. Ví dụ: nếu bạn tạo bộ đệm từ một chuỗi bằng Bộ đệm. from() , hàm toString() trả lại cho bạn chuỗi gốc.

Làm cách nào để lấy chuỗi từ bộ đệm trong JavaScript?

Chuyển bộ đệm thành chuỗi . // bộ đệm const str = "Này. đây là một chuỗi. "; const buff = Bộ đệm. from(str, "utf-8"); . use the toString() in the Buffer object. // buffer const str = "Hey. this is a string!"; const buff = Buffer. from(str, "utf-8"); // convert buffer to string const resultStr = buff.

Làm cách nào để đọc dữ liệu bộ đệm trong nút js?

Luồng .
phương thức createReadStream() nhận 2 tham số
Trong tham số đầu tiên, chúng tôi chỉ định đường dẫn tệp
Tham số thứ hai là một tùy chọn tùy chọn và tùy chọn highWaterMark giúp xác định kích thước của bộ đệm (Theo mặc định là 64KB nhưng trong trường hợp này là 16 byte)
readStream được sử dụng bằng cách sử dụng trình lắng nghe sự kiện như dữ liệu, kết thúc, sự kiện lỗi