1. 程式人生 > >Node.js 第七章- Buffer(緩衝區) 上

Node.js 第七章- Buffer(緩衝區) 上

一,JavaScript只有字串型別,沒有二進位制型別。

二,處理TCP流或檔案流時,必須使用二進位制資料。

三,因此,在Node.js中定義一個Buffer類,該類用來建立一個專門存放二進位制資料的快取區。

四,在Node.js中,Buffer類是隨Node核心一起釋出的核心庫。

五,Buffer庫為Node.js帶來一種儲存原始資料的方法,讓Node.js處理二進位制資料。

六,需要在Node.js中處理I/O操作中移動的資料時,就有可能使用Buffer庫。

七,一個Buffer類似於一個整數陣列,但它對應於V8堆記憶體之外的一塊原始記憶體。

 

八,Buffer與字元編碼

1.Buffer例項,一般用於便是編碼字元的序列,比如UTF-8,UCS2,Base64,或十六進位制編碼的資料。

通過使用顯式的字元編碼,可以在Buffer例項與普通的JavaScript字元之間進行相互轉換。

 九,Node.js目前支援的字元編碼包括

1.ascii - 僅支援7位ASCII資料。如果設定去掉高位的花,這種編碼是非常快的。

2.utf8 - 多位元組編碼的Unicode字元。許多網頁和其他文件格式都是使用UTF-8.

3.utf16le - 2 或 4個位元組,小位元組序編碼的Unicode字元。支援代理對(U+10000 至 U+10FFFF)

4.ucs2 - utf16le的別名

5.base64 - Base64編碼。

6.latin1 - 一種把Buffer編碼成一位元組編碼的字串的方式。

7.binary - latin1的別名。

8.hex - 將每個位元組編碼為兩個十六進位制字元。