Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk menukar penimbal kepada nombor dalam nodejs

Bagaimana untuk menukar penimbal kepada nombor dalam nodejs

王林
王林asal
2023-05-23 11:26:07920semak imbas

Buffer ialah objek yang digunakan untuk memproses data binari dalam Node.js. Ia boleh memainkan peranan penting dalam senario seperti membaca dan menulis data rangkaian, operasi fail dan algoritma penyulitan. Dalam proses memproses data binari, kadangkala kita perlu menukar jenis Penampan kepada jenis lain, seperti jenis angka. Artikel ini akan memperkenalkan cara menukar jenis Penampan kepada jenis angka.

  1. Tukar jenis Penampan kepada rentetan perenambelasan

Sebelum menukar jenis Penampan kepada jenis angka, kita perlu menukarnya kepada Rentetan pertama heksadesimal. Ini boleh dicapai dengan memanggil kaedah toString() bagi objek Buffer, seperti yang ditunjukkan di bawah:

const buf = Buffer.from('abcd', 'utf8');
const hexString = buf.toString('hex'); // "61626364"

Dalam kod di atas, kami mula-mula mencipta objek Buffer yang mengandungi rentetan 'abcd', dan kemudian menukarnya kepada rentetan heksadesimal.

  1. Tukar rentetan perenambelasan kepada jenis berangka

Sebelum menukar rentetan perenambelasan kepada jenis berangka, kita perlu memahami jenis berangka dan hubungan perenambelasan. Dalam JavaScript, jenis nombor diwakili dalam pelbagai cara, termasuk perpuluhan, perduaan, perlapanan dan perenambelasan. Antaranya, perpuluhan ialah perwakilan lalai. Jika kita ingin menukar rentetan perenambelasan kepada jenis berangka, kita perlu menggunakan fungsi parseInt() dan menentukan parameter asas sebagai 16, seperti yang ditunjukkan di bawah:

const hexString = '61626364';
const num = parseInt(hexString, 16); // 1633837924

Dalam kod di atas, kita akan The hexadecimal rentetan '61626364' ditukar kepada jenis angka yang sepadan 1633837924 dan diberikan kepada nombor pembolehubah.

  1. Tukar jenis Penampan terus kepada jenis angka

Selain menukar jenis Penampan kepada rentetan perenambelasan dan kemudian kepada jenis angka, Node js juga menyediakan cara untuk menukar secara terus jenis Penampan kepada jenis angka. Ini boleh dicapai dengan menggunakan kaedah baca objek Penampan, seperti ditunjukkan di bawah:

const buf = Buffer.from([0x01, 0x02, 0x03, 0x04]);
const num = buf.readUInt32BE(); // 16909060

Dalam kod di atas, kita mula-mula mencipta objek Penampan yang mengandungi jujukan bait [0x01, 0x02, 0x03, 0x04], dan kemudian gunakan Kaedah readUInt32BE() menukarkannya kepada nombor integer 32-bit tidak bertanda yang sepadan. Parameter kaedah readUInt32BE() menentukan susunan bait untuk dibaca, dengan BE mewakili Big Endian.

  1. Tukar jenis Penampan kepada jenis nombor lain

Selain cara untuk menukar jenis Penampan kepada rentetan perenambelasan dan jenis nombor, terdapat beberapa kes Seterusnya, anda perlu untuk menukarnya kepada jenis nombor lain, seperti titik terapung atau integer bertanda. Ini boleh dicapai dengan menggunakan kaedah baca objek Penampan dan menentukan bilangan bait untuk dibaca dan kaedah pengekodan, seperti yang ditunjukkan di bawah:

const buf = Buffer.from([0x41, 0xb0, 0x00, 0x00]);
const num = buf.readFloatBE(); // 11

Dalam kod di atas, kami mula-mula mencipta jujukan yang mengandungi bait [0x41, 0xb0 , 0x00, 0x00] Objek penimbal, dan kemudian gunakan kaedah readFloatBE() untuk menukarnya kepada nombor titik terapung yang sepadan. Parameter kaedah readFloatBE() menentukan susunan bait dan kaedah pengekodan bacaan, dengan BE mewakili Big Endian.

Dalam artikel ini, kami memperkenalkan pelbagai cara untuk menukar jenis Penampan kepada jenis angka, termasuk menukar jenis Penampan kepada rentetan perenambelasan, menukar rentetan perenambelasan kepada jenis angka, Penukaran terus jenis Penampan kepada jenis angka dan penukaran jenis Penampan kepada jenis jenis angka yang lain. Dengan memahami kaedah ini, kami boleh mengendalikan data binari dengan lebih fleksibel dan meningkatkan lagi kecekapan pembangunan Node.js.

Atas ialah kandungan terperinci Bagaimana untuk menukar penimbal kepada nombor dalam nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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