C : Menukar rentetan kepada wstring semasa Memelihara Pengekodan
Anda diberi rentetan s yang mengandungi aksara Jepun dan ingin menetapkan kandungannya kepada wstring, ws. Tugasnya ialah melaksanakan tugasan ini tanpa memperkenalkan sebarang isu pengekodan.
Penyelesaian:
Menggunakan C 11 dan ke atas, tugasan ini boleh dicapai semata-mata dengan perpustakaan standard.
Langkah 1: Sertakan Perlu Pengepala
#include <locale> #include <codecvt> #include <string>
Langkah 2: Buat penukar
std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>> converter;
Penukar ini akan mengendalikan penukaran antara UTF-8 (pengekodan s) dan UTF-16 (pengekodan ws).
Langkah 3: Tukar rentetan ke rentetan wstring
std::wstring ws = converter.from_bytes(s);
Contoh:
std::string s = "おはよう"; std::wstring ws; std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>> converter; ws = converter.from_bytes(s);
Nota:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Rentetan UTF-8 dengan Selamat kepada wstring dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!