Rumah > hujung hadapan web > Soal Jawab bahagian hadapan > nodejs perenambelasan kepada rentetan

nodejs perenambelasan kepada rentetan

WBOY
Lepaskan: 2023-05-23 17:59:37
asal
1194 orang telah melayarinya

Dalam Node.js, kita boleh menggunakan objek Penampan untuk menukar data perenambelasan kepada rentetan.

Objek Penampan ialah objek terbina dalam dalam API Node.js, digunakan untuk memproses data binari, termasuk data yang diwakili dalam format perenambelasan. Kita boleh menggunakan kaedah Buffer.from() untuk menukar data heksadesimal kepada objek Penampan yang sepadan dan mengeluarkannya sebagai rentetan. Sebagai contoh, dengan mengandaikan kita mempunyai rentetan perenambelasan 48656c6c6f20576f726c64, kita boleh menukarnya kepada rentetan menggunakan kod berikut:

const hexString = '48656c6c6f20576f726c64';
const buf = Buffer.from(hexString, 'hex');
const str = buf.toString('utf8');
console.log(str);
Salin selepas log masuk

Di sini kaedah Buffer.from() menukarkan hexString kepada perenambelasan , dan menyimpan hasilnya dalam pembolehubah buf. Kemudian, kami menggunakan kaedah buf.toString() untuk menyahkodnya menjadi rentetan berformat utf8. Ini akan mengeluarkan Hello World.

Jika data perenambelasan kami dibatasi ruang, kami boleh menggunakan kaedah String.prototype.split() untuk membahagikannya kepada nilai perenambelasan individu dan menggunakan kaedah Buffer.from() untuk menukarnya kepada rentetan. Sebagai contoh, dengan mengandaikan kita mempunyai rentetan heksadesimal 48 65 6c 6c 6f 20 57 6f 72 6c 64, kita boleh menukarnya kepada rentetan menggunakan kod berikut:

const hexString = '48 65 6c 6c 6f 20 57 6f 72 6c 64';
const hexArr = hexString.split(' ');
const buf = Buffer.from(hexArr, 'hex');
const str = buf.toString('utf8');
console.log(str);
Salin selepas log masuk

Di sini kaedah hexString.split(' ') membahagikan hexString kepada rentetan yang mengandungi setiap tatasusunan daripada nilai heksadesimal. Kemudian kami menukarnya kepada rentetan menggunakan kaedah Buffer.from().

Walau bagaimanapun, perlu diingatkan bahawa jika data perenambelasan kami mengandungi aksara haram, ia tidak akan ditukar kepada rentetan dengan betul. Jika kami cuba menukar rentetan berikut 48656c6c6f20576f726c6447 kepada rentetan, ralat akan berlaku kerana ia mengandungi aksara heksadesimal haram 47:

const hexString = '48656c6c6f20576f726c6447';
const buf = Buffer.from(hexString, 'hex');
const str = buf.toString('utf8');
console.log(str); // 报错
Salin selepas log masuk

Dalam kes ini, kami Anda boleh mengelakkan ranap program dengan menggunakan pengendali ralat semasa memanggil kaedah Buffer.from(). Sebagai contoh, kita boleh menggunakan kod berikut:

const hexString = '48656c6c6f20576f726c6447';
let str;
try {
  const buf = Buffer.from(hexString, 'hex');
  str = buf.toString('utf8');
} catch (err) {
  console.error(err);
  str = '';
}
console.log(str); // 输出空字符串
Salin selepas log masuk

Blok try..catch di sini menangkap ralat kaedah Buffer.from() dan menetapkan str kepada rentetan kosong untuk mengelakkan atur cara daripada ranap. Kita boleh melaraskan pengendali pengecualian dengan sewajarnya mengikut situasi tertentu.

Ringkasnya, menukar data perenambelasan kepada rentetan dalam Node.js ialah tugas biasa, dan kami boleh menggunakan fungsi berkaitan objek Penampan untuk menyelesaikan kerja ini.

Atas ialah kandungan terperinci nodejs perenambelasan kepada rentetan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber: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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan