欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Node.js實(shí)用代碼段之獲取Buffer對(duì)象字節(jié)長(zhǎng)度

 更新時(shí)間:2016年03月17日 14:35:11   作者:學(xué)習(xí)如逆水行舟  
這篇文章主要介紹了Node.js實(shí)用代碼段之獲取Buffer對(duì)象字節(jié)長(zhǎng)度,需要的朋友可以參考下

我們知道Node.js框架下的Buffer對(duì)象能夠?qū)ΧM(jìn)制數(shù)據(jù)提供很好的支持,那么獲取一個(gè)Buffer對(duì)象真實(shí)的字節(jié)長(zhǎng)度則是必須要用到的功能了。Node.js框架為開(kāi)發(fā)人員提供了一個(gè)Buffer.byteLength()方法,下面我們借助一個(gè)官方文檔提供的例程向讀者演示一下該方法的使用過(guò)程。

本例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行代碼定義并初始化了一個(gè)字符串變量,其變量名為str,數(shù)據(jù)內(nèi)容為\u00bd + \u00bc = \u00be,讀者可以去相關(guān)網(wǎng)站查閱一下這幾個(gè)16進(jìn)制編碼,\u00bd代表字符"½",\u00bc代表字符"¼",\u00be代表字符"¾";然后,在第08行代碼通過(guò)打印輸出str.length屬性來(lái)顯示字符串變量str的長(zhǎng)度,通過(guò)Buffer.byteLength()方法來(lái)顯示字符串變量str的真實(shí)字節(jié)長(zhǎng)度,關(guān)于Buffer.byteLength()方法的語(yǔ)法說(shuō)明如下:
語(yǔ)法:Buffer.byteLength(string[, encoding])
該方法返回一個(gè)Number數(shù)字,用來(lái)表示string參數(shù)的真實(shí)字節(jié)長(zhǎng)度,encoding參數(shù)默認(rèn)為"utf8"編碼格式。

從圖4.4中顯示的結(jié)果可以看到,字符串str的length屬性為9個(gè)字符長(zhǎng)度,而占用字節(jié)長(zhǎng)度為12 個(gè),因此我們可以知道"½"、"¼"和"¾"這3個(gè)字符其實(shí)占用了兩個(gè)字節(jié)的長(zhǎng)度。

提示:本節(jié)我們需要了解字符與字節(jié)這兩個(gè)概念的異同,在計(jì)算機(jī)編碼中一個(gè)字節(jié)占用8 bit(1 byte = 8 bit),而一個(gè)字符可能是一個(gè)單字節(jié)字符,也可能是雙字節(jié)字符。另外,Buffer.byteLength()方法在寫(xiě)http響應(yīng)頭時(shí)經(jīng)常要用到,如果想改寫(xiě)http響應(yīng)頭Cotent-Length時(shí),千萬(wàn)記得一定要用Buffer.byteLength()方法,而不要使用 String.prototype.length屬性。

以上就是為大家分享的第一個(gè)超實(shí)用的Node.js代碼段,下面還有更多精彩的Node.js代碼段,不要錯(cuò)過(guò),希望對(duì)大家的學(xué)習(xí)有所幫助。

相關(guān)文章

  • node里的filesystem模塊文件讀寫(xiě)操作詳解

    node里的filesystem模塊文件讀寫(xiě)操作詳解

    這篇文章主要為大家介紹了node里的filesystem模塊文件讀寫(xiě)操作詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • Node.js中module.exports?和exports使用誤區(qū)

    Node.js中module.exports?和exports使用誤區(qū)

    本文主要介紹了Node.js中module.exports?和exports使用誤區(qū),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 詳解Nodejs內(nèi)存治理

    詳解Nodejs內(nèi)存治理

    本篇文章給大家分享了Nodejs內(nèi)存處理相關(guān)的知識(shí)點(diǎn)以及實(shí)例代碼分享,有興趣的朋友跟著學(xué)習(xí)下。
    2018-05-05
  • npm與nrm兩種方式查看源和切換鏡像詳解

    npm與nrm兩種方式查看源和切換鏡像詳解

    nrm(npm registry manager )是npm的鏡像源管理工具,它可以快速在讓你在本地源之間切換,下面這篇文章主要給大家介紹了關(guān)于npm與nrm兩種方式查看源和切換鏡像的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • node.js中ws模塊創(chuàng)建服務(wù)端和客戶端,網(wǎng)頁(yè)WebSocket客戶端

    node.js中ws模塊創(chuàng)建服務(wù)端和客戶端,網(wǎng)頁(yè)WebSocket客戶端

    今天小編就為大家分享一篇關(guān)于node.js中ws模塊創(chuàng)建服務(wù)端和客戶端,網(wǎng)頁(yè)WebSocket客戶端,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • 使用node.js對(duì)音視頻文件加密的實(shí)例代碼

    使用node.js對(duì)音視頻文件加密的實(shí)例代碼

    本文通過(guò)實(shí)例代碼給大家介紹了使用node.js對(duì)音視頻文件加密的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下吧
    2017-08-08
  • 分析node事件循環(huán)和消息隊(duì)列

    分析node事件循環(huán)和消息隊(duì)列

    node的好處毋庸置疑,事件驅(qū)動(dòng),異步非阻塞I/O,以及處理高并發(fā)的能力深入人心,因此大家喜歡用node做一些小型后臺(tái)服務(wù)或者作為中間層和其他服務(wù)配合完成一些大型應(yīng)用場(chǎng)景。
    2021-06-06
  • node.js之基礎(chǔ)加密算法模塊crypto詳解

    node.js之基礎(chǔ)加密算法模塊crypto詳解

    這篇文章主要介紹了node.js之基礎(chǔ)加密算法模塊crypto詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • node app 打包工具pkg的具體使用

    node app 打包工具pkg的具體使用

    這篇文章主要介紹了node app 打包工具pkg的具體使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • 在nodeJs中如何修改json文件中的數(shù)據(jù)

    在nodeJs中如何修改json文件中的數(shù)據(jù)

    這篇文章主要介紹了在nodeJs中如何修改json文件中的數(shù)據(jù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10

最新評(píng)論