Kami tahu bahawa objek Penampan di bawah rangka kerja Node.js boleh memberikan sokongan yang baik untuk data binari, jadi mendapatkan panjang bait sebenar objek Penampan ialah fungsi yang mesti digunakan. Rangka kerja Node.js menyediakan pembangun kaedah Buffer.byteLength() Di bawah kami menggunakan rutin yang disediakan oleh dokumen rasmi untuk menunjukkan penggunaan kaedah ini kepada pembaca.
Kod utama ch04.buffer-byteLength.js dalam contoh ini adalah seperti berikut:
/** * 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()------");
【Analisis Kod】
Baris 06 kod mentakrifkan dan memulakan pembolehubah rentetan Nama pembolehubah ialah str, dan kandungan data ialah u00bd + u00bc = u00be ", u00bc mewakili aksara "¼", dan u00be mewakili aksara "¾"; kemudian, dalam baris 08 kod, panjang str pembolehubah rentetan dipaparkan dengan mencetak sifat str.length, dan aksara dipaparkan melalui kaedah Buffer.byteLength() Panjang bait sebenar str pembolehubah rentetan Sintaks kaedah Buffer.byteLength() adalah seperti berikut:
Sintaks: Buffer.byteLength(rentetan[, pengekodan])
Kaedah ini mengembalikan Nombor untuk mewakili panjang bait sebenar parameter rentetan Parameter pengekodan lalai kepada format pengekodan "utf8".
Daripada keputusan yang ditunjukkan dalam Rajah 4.4, kita dapat melihat bahawa atribut panjang bagi rentetan str ialah 9 aksara panjang, dan panjang bait yang diduduki ialah 12, jadi kita boleh mengetahui "½", "¼" dan "¾" Tiga aksara ini sebenarnya menduduki dua bait panjangnya.
Petua: Dalam bahagian ini kita perlu memahami persamaan dan perbezaan antara dua konsep aksara dan bait Dalam pengekodan komputer, satu bait menduduki 8 bit (1 bait = 8 bit), dan aksara mungkin satu aksara bait atau aksara dua bait. Selain itu, kaedah Buffer.byteLength() sering digunakan semasa menulis tajuk respons http Jika anda ingin menulis semula tajuk respons http Cotent-Length, pastikan anda menggunakan kaedah Buffer.byteLength() dan bukannya String.prototype atribut.
Yang di atas ialah coretan kod Node.js yang sangat praktikal yang pertama dikongsikan dengan anda. Terdapat lebih banyak coretan kod Node.js di bawah.