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[]
và 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 JSONBộ đệ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ó
.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 ArrayBuffer
0 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 ArrayBuffer
2. 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 ArrayBuffer
2, 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 ArrayBuffer
5. Mặc dù bạn không cần phải đặt rõ ràng mã hóa ArrayBuffer
5 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. ArrayBuffer
7
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 ArrayBuffer
8 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 ArrayBuffer
8 để 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 ArrayBuffer
2, phương thức ArrayBuffer
8 cũng có một đối số Buffer
2 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ộ đệmchi 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