Node.js實用代碼段之獲取Buffer對象字節(jié)長度
我們知道Node.js框架下的Buffer對象能夠?qū)ΧM制數(shù)據(jù)提供很好的支持,那么獲取一個Buffer對象真實的字節(jié)長度則是必須要用到的功能了。Node.js框架為開發(fā)人員提供了一個Buffer.byteLength()方法,下面我們借助一個官方文檔提供的例程向讀者演示一下該方法的使用過程。
本例ch04.buffer-byteLength.js主要代碼如下:
/**
* ch04.buffer-byteLength.js
*/
console.info("------Buffer.byteLength()------");
console.info();
str = '\u00bd + \u00bc = \u00be'; //定義字符串
//½ + ¼ = ¾: 9 characters, 12 bytes
console.log(str + ": " + str.length + " characters, " + Buffer.byteLength(str, 'utf8') + " bytes");
console.info();
console.info("------Buffer.byteLength()------");
【代碼分析】
第06行代碼定義并初始化了一個字符串變量,其變量名為str,數(shù)據(jù)內(nèi)容為\u00bd + \u00bc = \u00be,讀者可以去相關網(wǎng)站查閱一下這幾個16進制編碼,\u00bd代表字符"½",\u00bc代表字符"¼",\u00be代表字符"¾";然后,在第08行代碼通過打印輸出str.length屬性來顯示字符串變量str的長度,通過Buffer.byteLength()方法來顯示字符串變量str的真實字節(jié)長度,關于Buffer.byteLength()方法的語法說明如下:
語法:Buffer.byteLength(string[, encoding])
該方法返回一個Number數(shù)字,用來表示string參數(shù)的真實字節(jié)長度,encoding參數(shù)默認為"utf8"編碼格式。
從圖4.4中顯示的結果可以看到,字符串str的length屬性為9個字符長度,而占用字節(jié)長度為12 個,因此我們可以知道"½"、"¼"和"¾"這3個字符其實占用了兩個字節(jié)的長度。

提示:本節(jié)我們需要了解字符與字節(jié)這兩個概念的異同,在計算機編碼中一個字節(jié)占用8 bit(1 byte = 8 bit),而一個字符可能是一個單字節(jié)字符,也可能是雙字節(jié)字符。另外,Buffer.byteLength()方法在寫http響應頭時經(jīng)常要用到,如果想改寫http響應頭Cotent-Length時,千萬記得一定要用Buffer.byteLength()方法,而不要使用 String.prototype.length屬性。
以上就是為大家分享的第一個超實用的Node.js代碼段,下面還有更多精彩的Node.js代碼段,不要錯過,希望對大家的學習有所幫助。
相關文章
Node.js中child_process實現(xiàn)多進程
這篇文章主要介紹了Node.js中child_process實現(xiàn)多進程,需要的朋友可以參考下2015-02-02
Node.js中的require.resolve方法使用簡介
在Node.js中,可以使用require.resolve函數(shù)來查詢某個模塊文件的帶有完整絕對路徑的文件名,下面這篇文章主要介紹了Node.js中require.resolve方法使用的相關資料,需要的朋友可以參考借鑒,下面來一起看看吧。2017-04-04
node實現(xiàn)shell命令管理工具及commander.js學習
這篇文章主要為大家介紹了node實現(xiàn)shell命令管理工具及commander.js學習,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09
nodejs實現(xiàn)的連接MySQL數(shù)據(jù)庫功能示例
這篇文章主要介紹了nodejs實現(xiàn)的連接MySQL數(shù)據(jù)庫功能,結合實例形式分析了nodejs連接及查詢mysql數(shù)據(jù)的相關操作步驟與實現(xiàn)技巧,需要的朋友可以參考下2018-01-01
nodeJs的安裝與npm全局環(huán)境變量的配置詳解
這篇文章主要介紹了nodeJs的安裝與npm全局環(huán)境變量的配置詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-01-01

