


Bagaimana untuk menukar penimbal dalam Nodejs kepada format JSON dan rentetan UTF-8?
Bagaimana untuk menukar penimbal dalam Nodejs kepada format JSON dan rentetan UTF-8? Artikel berikut akan memperkenalkan kepada anda kaedah menukar format penimbal dan JSON dalam Nodejs, serta kaedah menukar Penimbal kepada rentetan UTF-8.
Node.js berbeza daripada JavaScript berasaskan pelayar kerana Node mempunyai cara untuk mengendalikan data binari walaupun sebelum draf ES6 ArrayBuffer
dicadangkan. Dalam Node, kelas Buffer
(buffer) ialah struktur data utama yang digunakan oleh kebanyakan operasi I/O. Ia ialah data binari mentah yang diperuntukkan di luar timbunan V8 dan tidak boleh diubah saiznya setelah diperuntukkan. [Pembelajaran yang disyorkan: "tutorial nodejs"]
Sebelum Node v6.0, untuk mencipta penimbal baharu, kita hanya perlu menggunakan kata kunci new
untuk memanggil pembina:
let newBuff = new Buffer('I Love You')
Selepas v6.0, untuk mencipta contoh penimbal baharu:
let newBuff = Buffer.from('I Love You')
new Buffer()
pembina telah ditamatkan dan digantikan dengan kaedah Buffer.from()
, Buffer.alloc()
dan Buffer.allocUnsafe()
berasingan penggantian.
Untuk maklumat lanjut, anda boleh membaca dokumentasi rasmi.
Tukar Penimbal kepada JSON
Penimbal boleh ditukar kepada JSON.
let bufferOne = Buffer.from('All work and no play makes Jack a dull boy') console.log(bufferOne) // <Buffer 41 6c 6c 20 77 6f 72 6b 20 61 6e 64 20 6e 6f 20 70 6c 61 79 20 6d 61 6b 65 73 20 4a 61 63 6b 20 61 20 64 75 6c 6c 20 62 6f 79> let json = JSON.stringify(bufferOne, null, 2) console.log(json) /* { "type": "Buffer", "data": [ 65, 108, 108, 32, 119, 111, 114, 107, 32, 97, 110, 100, 32, 110, 111, 32, 112, 108, 97, 121, 32, 109, 97, 107, 101, 115, 32, 74, 97, 99, 107, 32, 97, 32, 100, 117, 108, 108, 32, 98, 111, 121 ] } */
JSON menentukan bahawa jenis objek yang hendak ditukar ialah Buffer
dan datanya.
Tukar JSON kepada Penampan
let bufferOriginal = Buffer.from(JSON.parse(json).data) console.log(bufferOriginal) // <Buffer 41 6c 6c 20 77 6f 72 6b 20 61 6e 64 20 6e 6f 20 70 6c 61 79 20 6d 61 6b 65 73 20 4a 61 63 6b 20 61 20 64 75 6c 6c 20 62 6f 79>
Tukar Penampan kepada rentetan UTF-8
console.log(bufferOriginal.toString('utf8')) // All work and no play makes Jack a dull boy
.toString()
bukan satu-satunya cara untuk menukar penimbal kepada rentetan. Selain itu, secara lalai, ia ditukar kepada rentetan format utf-8.
Cara lain untuk menukar penimbal kepada rentetan ialah menggunakan StringDecoder
modul teras daripada API Node.js. Modul
string_decoder
menyediakan API untuk menyahkod Buffer
objek ke dalam rentetan dengan cara yang mengekalkan aksara UTF-8 dan UTF-16 berbilang bait yang dikodkan. Alternatif kepada contoh di atas ialah:
const { StringDecoder } = require('string_decoder') const decoder = new StringDecoder('utf8') let bufferOriginal = Buffer.from(JSON.parse(json).data) console.log(decoder.write(bufferOriginal)) // All work and no play makes Jack a dull boy console.log(decoder.end(bufferOriginal)) // All work and no play makes Jack a dull boy
Apabila tika Buffer
ditulis kepada tika StringDecoder
, penimbal dalaman digunakan untuk memastikan rentetan yang dinyahkod tidak mengandungi sebarang polinomial yang tidak lengkap . Ini disimpan dalam penimbal sehingga panggilan seterusnya ke stringDecoder.write()
atau kali seterusnya stringDecoder.end()
dipanggil.
Untuk lebih banyak pengetahuan berkaitan pengaturcaraan, sila lawati: Video Pengaturcaraan! !
Atas ialah kandungan terperinci Bagaimana untuk menukar penimbal dalam Nodejs kepada format JSON dan rentetan UTF-8?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



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

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

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.

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?

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!

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

Kaedah pembukaan: 1. Buka dengan editor teks: Anda boleh menggunakan mana-mana editor teks (seperti Notepad, Teks Sublime, Atom, dll.) untuk membuka fail JSON. Hanya klik dua kali nama fail dan pilih editor kegemaran anda untuk membukanya 2. Buka dengan penyemak imbas web: Banyak penyemak imbas moden (seperti Chrome, Firefox, Safari, dll.) boleh terus membuka fail JSON; untuk menghuraikan: Fail JSON boleh dibuka dan dihuraikan menggunakan perpustakaan atau modul untuk bahasa yang sepadan.

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;
