Rumah  >  Artikel  >  hujung hadapan web  >  transkod unicode nodejs

transkod unicode nodejs

王林
王林asal
2023-05-08 19:21:091237semak imbas

Pengalihan Kod Unikod Node.js

Pengekodan dan penyahkodan Unikod dalam Node.js menjadi semakin biasa. Kaedahnya untuk mencari jujukan Unicode adalah mudah berbanding dengan banyak bahasa pengaturcaraan biasa. JavaScript secara semula jadi menyokong rentetan Unicode kerana mekanisme pengekodan UTF-16 terbina dalamnya. Dalam artikel ini, kami akan membincangkan cara menggunakan pengekodan dan penyahkod Unicode dalam Node.js.

Pengenalan kepada Unicode

Unicode ialah pengekodan aksara yang direka untuk merangkumi semua set aksara dan memberikannya titik kod angka yang unik. Ini bermakna Unicode boleh digunakan untuk mewakili hampir semua aksara dalam mana-mana bahasa, sama ada aksara biasa atau jarang berlaku. Ia juga menyokong Emoji dan pelbagai simbol. Unicode menggunakan unit kod 16-bit atau 32-bit untuk mewakili semua aksara sebagai nombor, dipanggil titik kod.

Menggunakan Unicode dalam JavaScript

JavaScript mempunyai sokongan terbina dalam untuk Unicode. Dalam JavaScript, mekanisme pengekodan UTF-16 digunakan untuk menyimpan rentetan dan sintaks u xxxx dan u{xxxxx} dibenarkan untuk mewakili titik kod Unicode (dengan x ialah nombor perenambelasan). Sebagai contoh, berikut ialah contoh titik kod Unicode yang mewakili aksara Cina "中": u4e2d dan u{4e2d}.

const str1 = "u4e2d";
const str2 = "u{4e2d}";

console.log(str1); // Medium
console.log(str2 ); // Sederhana

Menggunakan Unicode dalam Node.js

Dalam Node.js, anda juga boleh menggunakan objek Penampan untuk mengendalikan pengekodan dan penyahkodan Unikod. Penampan boleh dianggap sebagai tatasusunan integer yang tidak ditandatangani, dengan setiap elemen mempunyai nilai antara 0 dan 255, tetapi kaedah toString boleh digunakan untuk mentafsir kandungan dengan cara yang menyahkod rentetan sebagai Unicode.

Keperluan biasa ialah menukar rentetan Unicode kepada tatasusunan bait dalam pengekodan UTF-8. Ini boleh dilakukan dengan menghantar rentetan kepada kaedah Buffer:

const str = "Node.js is cool";
const buff = Buffer.from(str, "utf-8"); 🎜>

console.log(buff); //

Begitu juga, anda boleh menggunakan objek UTF -8 Menukar tatasusunan bait yang dikodkan kepada rentetan Unicode yang sepadan. Ini boleh dilakukan dengan menggunakan kaedah toString dan menghantar pengekodan sebagai "utf-8":

const buff = Buffer.from([0x4e, 0x6f, 0x64, 0x65, 0x2e, 0x6a, 0x73, 0x20, 0x69, 0x73, 0x20, 0x63, 0x6f, 0x6f, 0x6c]);

const str = buff.toString("utf-8");

console.log(str); js bagus

Menggunakan pengekodan UTF-16 dalam Node.js juga mudah. Anda boleh menggunakan kaedah penimbal terus pada rentetan dan tentukan jenis pengekodan sebagai "utf-16le" atau "ucs2":

const str = "Chinese";

const buff = Buffer.from(str , "ucs2");

console.log(buff); //

Tukar tatasusunan bait berkod UTF-16 kepada Rentetan aksara Unikod:

const buff = Buffer.from([0xe4, 0xb8, 0xad, 0xe6, 0x96, 0x87]);

const str = buff.toString("ucs2");

console. log(str); // Bahasa Cina

Perhatikan bahawa apabila menggunakan pengekodan "ucs2", setiap titik kod Unicode diwakili oleh unit kod 16-bit. Jika titik kod Unicode lebih besar daripada 0xFFFF, pengekodan lain mesti digunakan, seperti UTF-16BE atau UTF-16LE.

Kesimpulan

Node.js mempunyai sokongan terbina dalam untuk Unicode, menjadikannya mudah dan mudah untuk menangani pengekodan dan penyahkodan Unikod. Anda boleh menggunakan sokongan Unicode terbina dalam dalam JavaScript, atau anda boleh menggunakan objek Penampan dalam Node.js untuk penukaran. Tidak kira kaedah yang anda gunakan, bekerja dengan urutan Unicode adalah pantas dan mudah.

Atas ialah kandungan terperinci transkod unicode 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
Artikel sebelumnya:pemasangan nodejs8.4Artikel seterusnya:pemasangan nodejs8.4