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中顯示的結(jié)果可以看到,字符串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中module.exports?和exports使用誤區(qū)
本文主要介紹了Node.js中module.exports?和exports使用誤區(qū),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01node.js中ws模塊創(chuàng)建服務端和客戶端,網(wǎng)頁WebSocket客戶端
今天小編就為大家分享一篇關于node.js中ws模塊創(chuàng)建服務端和客戶端,網(wǎng)頁WebSocket客戶端,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03在nodeJs中如何修改json文件中的數(shù)據(jù)
這篇文章主要介紹了在nodeJs中如何修改json文件中的數(shù)據(jù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10