Node.js 第七章- Buffer(緩衝區) 上
阿新 • • 發佈:2018-12-26
一,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 - 將每個位元組編碼為兩個十六進位制字元。