Rumah hujung hadapan web tutorial js Node.js Buffer学以致用

Node.js Buffer学以致用

Jan 17, 2017 pm 03:46 PM

学习要点:

写入缓冲区

从缓冲区读取数据 

把 Buffer 转换为 JSON 对象 

合并缓冲区 

拷贝缓冲区 

缓冲区裁剪 

缓冲区长度

Node.js Buffer(缓冲器) 

该类用来创建一个专门存放二进制数据的缓存区

创建 Buffer 类

创建长度为 10 字节的 Buffer 实例

[code]var buffer = new Buffer(10);
Salin selepas log masuk

通过给定的数组创建 Buffer 实例

[code]var buffer = new Buffer([10, 20, 30, 40]);
Salin selepas log masuk
通过一个字符串来创建 Buffer 实例
[code]var buffer = new Buffer('光明大神棍的博客', 'utf-8');
Salin selepas log masuk
写入缓冲区
[code]buffer.write(string[, offset, length, encoding])
参数
    string   必填 要输入缓冲区的字符串
    offset   可选 缓冲区开始写入的索引值,默认为 0 
    length   可选 写入的字节数,默认为 buffer.length
    encoding 可选 使用的编码。默认为 'utf8' 
返回值:
    实际写入的大小。如果 buffer 空间不足, 则只会写入部分字符串
Salin selepas log masuk
案例:buffer.js
[code]var buffer = new Buffer(100);
var len = buffer.write('http://www.lamport.me/club');
console.log('事件输入的字符:' + len);
Salin selepas log masuk

261.png

从缓冲区读取数据

[code]buffer.toString([ending, start, end])
参数
    encoding - 使用的编码。默认为 'utf8' 。
    start - 指定开始读取的索引位置,默认为 0。
    end - 结束位置,默认为缓冲区的末尾。
返回值
    解码缓冲区数据并以指定编码返回字符串
Salin selepas log masuk

案例:buffer2.js

[code]var buffer = new Buffer(26);
for (var i = 0; i < 26; i++) {
    buffer[i] = i + 97;
}
console.log(buffer.toString(&#39;ascii&#39;));
console.log(buffer.toString(&#39;ascii&#39;, 0, 4));
console.log(buffer.toString(&#39;utf8&#39;, 0, 4));
console.log(buffer.toString(undefined, 0, 4));
Salin selepas log masuk

262.png

把 Buffer 转换为 JSON 对象

toJSON(buffer)

案例:buffer3.js

[code]var buffer = new Buffer(&#39;http://www.lamport.me/club&#39;);
var data =buffer.toJSON(buffer);
console.log(data);
Salin selepas log masuk

263.png

合并缓冲区

[code]Buffer.concat(list[, totalLength])
参数
    list - 用于合并的 Buffer 对象数组列表。
    totalLength - 指定合并后Buffer对象的总长度。
Salin selepas log masuk

案例:buffer4.js

[code]var bf1 = new Buffer("Hello ");
var bf2 = new Buffer("World");
var bf3 = Buffer.concat([bf1, bf2]);
console.log(bf3.toString());
Salin selepas log masuk

264.png

拷贝缓冲区

[code]buf.copy(targetBuffer[, targetStart[, sourceStart[, sourceEnd]]])
参数
    targetBuffer - 要拷贝的 Buffer 对象。
    targetStart - 数字, 可选, 默认: 0
    sourceStart - 数字, 可选, 默认: 0
    sourceEnd - 数字, 可选, 默认: buffer.length
返回值
    没有返回值。
Salin selepas log masuk

案例:buffer5.js

[code]var buffer1 = new Buffer(&#39;ABC&#39;);
var buffer2 = new Buffer(3);
buffer1.copy(buffer2);
console.log(buffer2.toString());
Salin selepas log masuk

265.png

缓冲区裁剪

[code]buf.slice([start[, end]])
参数
    start - 数字, 可选, 默认: 0
    end - 数字, 可选, 默认: buffer.length
返回值
    返回一个新的缓冲区,它和旧缓冲区指向同一块内存,但是从索引 start 到 end 的位置剪切。
Salin selepas log masuk
实例: buffer6.js
[code]var buffer = new Buffer("ABCD");
var buffer2 = buffer.slice(0, 2);
console.log(buffer2.toString());
Salin selepas log masuk

266.png

缓冲区长度

[code]buf.length;
返回值
    返回 Buffer 对象所占据的内存长度。
Salin selepas log masuk

实例:buffer7.js

[code]var buffer = new Buffer("abcd");
console.log(buffer.length);
Salin selepas log masuk

267.png

以上就是Node.js Buffer学以致用的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Penjelasan grafik terperinci tentang memori dan GC enjin Node V8 Penjelasan grafik terperinci tentang memori dan GC enjin Node V8 Mar 29, 2023 pm 06:02 PM

Artikel ini akan memberi anda pemahaman yang mendalam tentang memori dan pengumpul sampah (GC) enjin NodeJS V8 saya harap ia akan membantu anda!

Artikel tentang kawalan memori dalam Node Artikel tentang kawalan memori dalam Node Apr 26, 2023 pm 05:37 PM

Perkhidmatan Node yang dibina berdasarkan bukan sekatan dan dipacu peristiwa mempunyai kelebihan penggunaan memori yang rendah dan sangat sesuai untuk mengendalikan permintaan rangkaian besar-besaran. Di bawah premis permintaan besar-besaran, isu yang berkaitan dengan "kawalan memori" perlu dipertimbangkan. 1. Mekanisme kutipan sampah V8 dan had ingatan Js dikawal oleh mesin kutipan sampah

Mari kita bincangkan tentang cara memilih imej Node.js Docker terbaik? Mari kita bincangkan tentang cara memilih imej Node.js Docker terbaik? Dec 13, 2022 pm 08:00 PM

Memilih imej Docker untuk Node mungkin kelihatan seperti perkara remeh, tetapi saiz dan potensi kelemahan imej itu boleh memberi kesan yang ketara pada proses dan keselamatan CI/CD anda. Jadi bagaimana kita memilih imej Node.js Docker yang terbaik?

Mari bercakap secara mendalam tentang modul Fail dalam Node Mari bercakap secara mendalam tentang modul Fail dalam Node Apr 24, 2023 pm 05:49 PM

Modul fail ialah enkapsulasi operasi fail asas, seperti membaca/menulis/membuka/menutup/memadam fail, dsb. Ciri terbesar modul fail ialah semua kaedah menyediakan dua versi **segerak** dan ** asynchronous**, dengan Kaedah dengan akhiran penyegerakan adalah semua kaedah penyegerakan, dan kaedah yang tidak semuanya adalah kaedah heterogen.

Node.js 19 dikeluarkan secara rasmi, mari bercakap tentang 6 ciri utamanya! Node.js 19 dikeluarkan secara rasmi, mari bercakap tentang 6 ciri utamanya! Nov 16, 2022 pm 08:34 PM

Node 19 telah dikeluarkan secara rasmi Artikel ini akan memberi anda penjelasan terperinci tentang 6 ciri utama Node.js 19. Saya harap ia akan membantu anda!

Mari bercakap tentang mekanisme GC (pengumpulan sampah) dalam Node.js Mari bercakap tentang mekanisme GC (pengumpulan sampah) dalam Node.js Nov 29, 2022 pm 08:44 PM

Bagaimanakah Node.js melakukan GC (pengumpulan sampah)? Artikel berikut akan membawa anda melaluinya.

Mari kita bincangkan tentang gelung acara dalam Node Mari kita bincangkan tentang gelung acara dalam Node Apr 11, 2023 pm 07:08 PM

Gelung peristiwa ialah bahagian asas Node.js dan mendayakan pengaturcaraan tak segerak dengan memastikan bahawa utas utama tidak disekat Memahami gelung peristiwa adalah penting untuk membina aplikasi yang cekap. Artikel berikut akan memberi anda pemahaman yang mendalam tentang gelung acara dalam Node.

Apakah yang perlu saya lakukan jika nod tidak boleh menggunakan arahan npm? Apakah yang perlu saya lakukan jika nod tidak boleh menggunakan arahan npm? Feb 08, 2023 am 10:09 AM

Sebab mengapa nod tidak boleh menggunakan arahan npm adalah kerana pembolehubah persekitaran tidak dikonfigurasikan dengan betul Penyelesaiannya ialah: 1. Buka "Sistem Sifat"; 2. Cari "Pembolehubah Persekitaran" -> "Pembolehubah Sistem", dan kemudian edit persekitaran. pembolehubah; 3. Cari lokasi folder nodejs;

See all articles