Jadual Kandungan
Tukar Penimbal kepada JSON
Tukar JSON kepada Penampan
Tukar Penampan kepada rentetan UTF-8
Rumah hujung hadapan web tutorial js 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?

Aug 26, 2021 am 10:25 AM
buffer format json node.js

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.

Bagaimana untuk menukar penimbal dalam Nodejs kepada format JSON dan 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')
Salin selepas log masuk

Selepas v6.0, untuk mencipta contoh penimbal baharu:

let newBuff = Buffer.from('I Love You')
Salin selepas log masuk

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
  ]
}
*/
Salin selepas log masuk

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>
Salin selepas log masuk

Tukar Penampan kepada rentetan UTF-8

console.log(bufferOriginal.toString(&#39;utf8&#39;)) // All work and no play makes Jack a dull boy
Salin selepas log masuk

.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(&#39;string_decoder&#39;)
const decoder = new StringDecoder(&#39;utf8&#39;)

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
Salin selepas log masuk

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!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Artikel tentang kawalan memori dalam Node Artikel tentang kawalan memori dalam Node Apr 26, 2023 pm 05:37 PM

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

Penjelasan grafik terperinci tentang memori dan GC enjin Node V8 Penjelasan grafik terperinci tentang memori dan GC enjin Node V8 Mar 29, 2023 pm 06:02 PM

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

Mari bercakap secara mendalam tentang modul Fail dalam Node Mari bercakap secara mendalam tentang modul Fail dalam Node Apr 24, 2023 pm 05:49 PM

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.

Mari kita bincangkan tentang cara memilih imej Node.js Docker terbaik? Mari kita bincangkan tentang cara memilih imej Node.js Docker terbaik? Dec 13, 2022 pm 08:00 PM

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.js 19 dikeluarkan secara rasmi, mari bercakap tentang 6 ciri utamanya! Node.js 19 dikeluarkan secara rasmi, mari bercakap tentang 6 ciri utamanya! Nov 16, 2022 pm 08:34 PM

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!

Mari bercakap tentang mekanisme GC (pengumpulan sampah) dalam Node.js Mari bercakap tentang mekanisme GC (pengumpulan sampah) dalam Node.js Nov 29, 2022 pm 08:44 PM

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

Bagaimana untuk membuka format json Bagaimana untuk membuka format json Dec 07, 2023 pm 02:28 PM

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.

Apakah yang perlu saya lakukan jika nod tidak boleh menggunakan arahan npm? Apakah yang perlu saya lakukan jika nod tidak boleh menggunakan arahan npm? Feb 08, 2023 am 10:09 AM

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;

See all articles