1. Trang chủ
  2. » Thể loại khác

khai niem buffer trong nodejs

7 183 1

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Nội dung

http://vietjack.com/nodejs/index.jsp                                                                                                              Copyright  ©  vietjack.com     Khái niệm Buffer Node.js Javascript mã hóa Unicode cách tiện lợi khơng thật tốt với liệu nhị phân Khi làm việc với luồng TCP hệ thống file, cần thiết phải xử lý luồng liệu bát phân Node.js cung cấp lớp Buffer cho phép lưu trữ liệu thô mảng số nguyên tương ứng với phần cấp phát nhớ thơ bên ngồi V8 heap Các lớp Buffer Node.js lớp tồn cục truy cập ứng dụng mà không cần khai báo Buffer Module phương thức require() Module khác Tạo Buffer Node.js Buffer Node.js xây dựng theo nhiều cách khác Cách Cú pháp cho việc tạo Buffer cỡ 10: var buf = new Buffer(10); Cách Cú pháp tạo Buffer từ mảng cho trước: var buf = new Buffer([10, 20, 30, 40, 50]); Cách Cú pháp tạo Buffer từ chuỗi cho trước với kiểu mã hóa tùy ý: var buf = new Buffer("Hoc Nodejs tai VietJack", "utf-8"); Mặc dù "utf8" cách mã hóa mặc định bạn sử dụng cách mã hóa khác "ascii", "utf8","base64", … http://vietjack.com/                                                                                                                              Trang  chia  sẻ  các  bài  học  online  miễn  phí  Page  1   http://vietjack.com/nodejs/index.jsp                                                                                                              Copyright  ©  vietjack.com     Ghi liệu vào Buffer Node.js Cú pháp Cú pháp để ghi Buffer Node.js là: buf.write(string[, offset][, length][, encoding]) Chi tiết tham số • string - Đây liệu dạng chuỗi ghi tới buffer • offset - Đây mục để buffer bắt đầu ghi Giá trị mặc định số • length - Số lượng byte ghi Mặc định buffer.length • encoding - Mã hóa sử dụng "utf8" mã hóa mặc định Giá trị trả Phương thức trả số lượng byte ghi Nếu nhớ buffer khơng đủ để đáp ứng cho tồn chuỗi, ghi phần chuỗi Ví dụ minh họa cách ghi liệu vào Buffer Node.js Ở ví dụ này, sử dụng phương thức write() nhận tham số liệu dạng chuỗi để ghi liệu tới Buffer buf = new Buffer(256); len = buf.write("Hoc Nodejs tai VietJack"); console.log("Tong so byte da ghi : "+ len); Khi chương trình thực thi cho kết quả: Tong so byte da ghi : 22 Đọc liệu từ Buffer Node.js Cú pháp Cú pháp để đọc liệu từ Buffer Node.js sau: buf.toString([encoding][, start][, end]) Chi tiết tham số • encoding - Là mã hóa để sử dụng Mã hóa mặc định 'utf8' http://vietjack.com/                                                                                                                              Trang  chia  sẻ  các  bài  học  online  miễn  phí  Page  1   http://vietjack.com/nodejs/index.jsp                                                                                                              Copyright  ©  vietjack.com     • start - Chỉ mục để bắt đầu hoạt động đọc, giá trị mặc định • end - Chỉ mục để kết thúc hoạt động đọc, giá trị mặc định độ dài Buffer Giá trị trả Phương thức giải mã trả chuỗi từ liệu mã hóa Buffer sử dụng mã hóa cụ thể Ví dụ minh họa cách đọc liệu từ Buffer Node.js buf = new Buffer(26); for (var i = ; i < 26 ; i++) { buf[i] = i + 97; } console.log( buf.toString('ascii')); // Ket qua: abcdefghijklmnopqrstuvwxyz console.log( buf.toString('ascii',0,5)); // Ket qua: abcde console.log( buf.toString('utf8',0,5)); // Ket qua: abcde console.log( buf.toString(undefined,0,5)); // Su dung ma hoa mac dinh 'utf8', Ket qua la: abcde Khi chương trình thực thi cho kết quả: abcdefghijklmnopqrstuvwxyz abcde abcde abcde Chuyển đổi Buffer thành JSON Node.js Cú pháp Để chuyển đổi Buffer Node.js thành đối tượng JSON, bạn sử dụng phương thức toJSON() có cú pháp nhu sau: buf.toJSON() Giá trị trả Phương thức trả biểu diễn JSON cho đối tượng Buffer cho Ví dụ minh họa cách chuyển đổi Buffer thành JSON var buf = new Buffer('Simply Easy Learning'); var json = buf.toJSON(buf); console.log(json); Khi chương trình thực thi cho kết quả: [ 83, 105, 109, 112, 108, 121, 32, 69, 97, 115, 121, 32, 76, 101, 97, 114, 110, 105, 110, 103 ] http://vietjack.com/                                                                                                                              Trang  chia  sẻ  các  bài  học  online  miễn  phí  Page  1   http://vietjack.com/nodejs/index.jsp                                                                                                              Copyright  ©  vietjack.com     Ghép nối Buffer Node.js Cú pháp Để nối ghép hai nhiều Buffer thành Buffer Node.js, bạn sử dụng phương thức concat() sau: Buffer.concat(list[, totalLength]) Chi tiết tham số • list - Xác định mảng Buffer sử dụng để ghép nối thành Buffer • totalLength - Là tổng độ dài Buffer sau ghép nối Giá trị trả Phương thức trả Buffer Ví dụ minh họa cách ghép nối Buffer var buffer1 = new Buffer('VietJack cung cap loat bai huong dan mien phi '); var buffer2 = new Buffer('cho tat ca moi nguoi'); var buffer3 = Buffer.concat([buffer1,buffer2]); console.log("Noi dung cua buffer3 la: " + buffer3.toString()); Khi chương trình thực thi cho kết quả: Noi dung cua buffer3 la: VietJack cung cap loat bai huong dan mien phi cho tat ca moi nguoi So sánh Buffer Node.js Cú pháp Để so sánh hai Buffer Node.js, bạn sử dụng phương thức compare() sau: buf.compare(otherBuffer); Chi tiết tham số • otherBuffer - Một Buffer khác để so sánh với Buffer có tên buf Giá trị trả Trả giá trị dạng số thể Buffer đứng trước, sau hay thứ tự với Buffer http://vietjack.com/                                                                                                                              Trang  chia  sẻ  các  bài  học  online  miễn  phí  Page  1   http://vietjack.com/nodejs/index.jsp                                                                                                              Copyright  ©  vietjack.com     Ví dụ minh họa cách so sánh hai Buffer Node.js var buffer1 = new Buffer('ABC'); var buffer2 = new Buffer('ABCD'); var result = buffer1.compare(buffer2); if(result < 0) { console.log(buffer1 +" dung truoc " + buffer2); }else if(result == 0){ console.log(buffer1 +" cung thu tu voi " + buffer2); }else { console.log(buffer1 +" dung sau " + buffer2); } Khi chương trình thực thi cho kết quả: ABC dung truoc ABCD Sao chép Buffer Node.js Cú pháp Để chép Buffer Node.js, bạn sử dụng phương thức copy() sau: buf.copy(targetBuffer[, targetStart][, sourceStart][, sourceEnd]) Chi tiết tham số • targetBuffer - Đối tượng Buffer, nơi Buffer chép • targetStart - Dạng số, mặc định • sourceStart - Dạng số, mặc định • sourceEnd - Dạng số, mặc định độ dài buffer Giá trị trả Phương thức copy() không trả giá trị Ví dụ minh họa cách chép Buffer var buffer1 = new Buffer('ABC'); // Sao chep mot buffer var buffer2 = new Buffer(3); buffer1.copy(buffer2); console.log("Noi dung cua buffer2 la: " + buffer2.toString()); Khi chương trình thực thi cho kết quả: Noi dung cua buffer2 la: ABC http://vietjack.com/                                                                                                                              Trang  chia  sẻ  các  bài  học  online  miễn  phí  Page  1   http://vietjack.com/nodejs/index.jsp                                                                                                              Copyright  ©  vietjack.com     Chia nhỏ Buffer Node.js Cú pháp Để lập Buffer Buffer Node.js, bạn sử dụng phương thức slice() sau: buf.slice([start][, end]) Chi tiết tham số • start - Dạng số, giá trị mặc định • end - Dạng số, giá trị mặc định buffer.length Giá trị trả Trả Buffer mà tham chiếu tới vùng nhớ Buffer cũ Ví dụ var buffer1 = new Buffer('VietNamVoDoi'); //Chia nho mot buffer var buffer2 = buffer1.slice(0,7); console.log("Noi dung cua buffer2 la: " + buffer2.toString()); Khi chương trình thực thi cho kết quả: Noi dung cua buffer2 la: VietNam Độ dài Buffer Node.js Cú pháp Để lấy độ dài (bằng giá trị byte) Buffer Node.js, bạn sử dụng thuộc tính length sau: buf.length; Giá trị trả Trả độ dài byte Buffer Ví dụ var buffer = new Buffer('VietNamVoDoi'); //Do dai cua buffer console.log("Do dai cua buffer la: " + buffer.length); Khi chương trình thực thi cho kết quả: http://vietjack.com/                                                                                                                              Trang  chia  sẻ  các  bài  học  online  miễn  phí  Page  1   http://vietjack.com/nodejs/index.jsp                                                                                                              Copyright  ©  vietjack.com     Do dai cua buffer la: 12 http://vietjack.com/                                                                                                                              Trang  chia  sẻ  các  bài  học  online  miễn  phí  Page  1   ... dài buffer Giá trị trả Phương thức copy() không trả giá trị Ví dụ minh họa cách chép Buffer var buffer1 = new Buffer( 'ABC'); // Sao chep mot buffer var buffer2 = new Buffer( 3); buffer1 .copy (buffer2 );... Buffer mà tham chiếu tới vùng nhớ Buffer cũ Ví dụ var buffer1 = new Buffer( 'VietNamVoDoi'); //Chia nho mot buffer var buffer2 = buffer1 .slice(0,7); console.log("Noi dung cua buffer2 la: " + buffer2 .toString());... Buffer Node.js var buffer1 = new Buffer( 'ABC'); var buffer2 = new Buffer( 'ABCD'); var result = buffer1 .compare (buffer2 ); if(result < 0) { console.log (buffer1 +" dung truoc " + buffer2 ); }else if(result

Ngày đăng: 02/12/2017, 12:24

TỪ KHÓA LIÊN QUAN

w