Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >Bagaimana untuk menukar bait nodejs antara satu sama lain
Node.js ialah platform pembangunan popular yang dikuasakan oleh bahasa JavaScript dan boleh digunakan untuk membina aplikasi web yang besar dan berskala tinggi. Dalam Node.js, pemprosesan data binari adalah sangat biasa Oleh itu, menggunakan Node.js untuk melakukan penukaran bait juga merupakan topik yang sangat penting.
Byte to HexString
Dalam Node.js, menukar tatasusunan bait kepada rentetan heksadesimal adalah sangat mudah. Kita boleh menggunakan kelas Penampan untuk memprosesnya. Berikut ialah kod sampel untuk menukar tatasusunan bait kepada rentetan perenambelasan:
const buff = Buffer.from([0x12, 0x34, 0x56, 0x78]); const hexString = buff.toString('hex'); console.log(`hexString: ${hexString}`); // hexString: 12345678
Kaedah Buffer.from menerima tatasusunan sebagai parameter dan mengembalikan tika Penampan yang mengandungi bait ini. Kita boleh memberikan contoh Buffer kosong dengan panjang yang ditentukan dan kemudian menggunakan kaedah isian untuk mengisinya Jika perlu, kita juga boleh menggunakan kaedah slice() untuk memintas bahagian yang kita perlukan.
Kaedah toString() menerima parameter pengekodan pilihan, di sini kami menggunakan pengekodan heks. Kod contoh ini mengeluarkan rentetan perenambelasan, dan kita dapat melihat bahawa outputnya ialah 12345678.
HexString to Byte
Dalam Node.js, menukar rentetan perenambelasan kepada tatasusunan bait juga sangat mudah Kita hanya perlu menukar rentetan perenambelasan ini Hanya mengimportnya ke dalam kelas Penampan. Berikut ialah kod sampel yang menukar rentetan perenambelasan kepada tatasusunan bait:
const hexString = 'ab12fde9'; const byteArr = Buffer.from(hexString, 'hex'); console.log(`byteArr: ${byteArr}`); // byteArr: <Buffer ab 12 fd e9>
Parameter pertama kaedah Buffer.from ialah jenis rentetan, yang menunjukkan dari mana kita ingin datang. Di sini kami menentukannya sebagai rentetan perenambelasan dan bukannya tatasusunan.
Parameter kedua adalah pilihan dan menunjukkan pengekodan yang hendak digunakan untuk menyahkod parameter pertama. Di sini kita tetapkan kepada hex.
Tukar tatasusunan bait kepada nombor perpuluhan
Dalam Node.js, menukar tatasusunan bait kepada nombor perpuluhan juga sangat mudah. Kita boleh menggunakan kelas ArrayBuffer dan kelas DataView untuk mencapai fungsi ini. Berikut ialah contoh kod yang menukar tatasusunan bait kepada nombor perpuluhan:
const byteArr = new Uint8Array([0x12, 0x34, 0x56, 0x78]); const buffer = new ArrayBuffer(4); const dataView = new DataView(buffer); byteArr.forEach((item, index) => { dataView.setUint8(index, item); }); const decNum = dataView.getUint32(0, false); console.log(`decNum: ${decNum}`); // decNum: 305419896
Kod sampel ini menggunakan kelas ArrayBuffer untuk mencipta penimbal bersaiz 4. Kemudian kami menggunakan kelas DataView untuk membaca dan menulis data dalam penimbal ini.
Pertama, kami mencipta objek jenis Uint8Array yang dipanggil byteArr dan menetapkannya kepada tatasusunan bait yang ingin kami tukar.
Seterusnya, kami mencipta objek instance Buffer dan DataView bernama buffer dan dataView. Kemudian, kami menggunakan kaedah setUint8() DataView untuk menulis setiap elemen dalam byteArr ke penimbal.
Akhir sekali, kami menggunakan kaedah getUint32() DataView untuk membaca data dalam penimbal dan mengembalikan nombor perpuluhan. Output kod sampel ini ialah 305419896.
Tukar nombor perpuluhan kepada tatasusunan bait
Begitu juga, dalam Node.js, menukar nombor perpuluhan kepada tatasusunan bait adalah sangat mudah. Kita hanya perlu menggunakan kaedah setUintX() kelas DataView. Berikut ialah kod sampel yang menukar nombor perpuluhan kepada tatasusunan bait:
const decNum = 305419896; const buffer = new ArrayBuffer(4); const dataView = new DataView(buffer); dataView.setUint32(0, decNum, false); const byteArr = new Uint8Array(buffer); console.log(`byteArr: ${byteArr}`); // byteArr: Uint8Array [ 18, 52, 86, 120 ]
Kod sampel ini menggunakan kaedah setUint32 DataView untuk menulis nombor perpuluhan kepada contoh ArrayBuffer baharu. Seterusnya kita menukar contoh ArrayBuffer ini kepada tatasusunan bait dengan menghantarnya ke dalam Uint8Array.
Hasil keluaran kod sampel ini ialah tatasusunan bait dengan nilai [18, 52, 86, 120].
Ringkasan
Dalam Node.js, operasi seperti menukar bait kepada HexString, menukar HexString kepada bait, menukar nombor perpuluhan kepada tatasusunan bait dan menukar tatasusunan bait kepada nombor perpuluhan adalah sangat biasa. Kita boleh menggunakan kelas Buffer dan kelas DataView yang disediakan oleh Node.js untuk melaksanakan operasi ini. Harap artikel ini membantu anda!
Atas ialah kandungan terperinci Bagaimana untuk menukar bait nodejs antara satu sama lain. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!