UTF8 ke/dari Penukaran Wide Char dalam STL
Menukar teks Unicode yang diwakili sebagai rentetan UTF-8 dalam std::string kepada aksara lebar rentetan dalam std::wstring dan sebaliknya adalah penting untuk pengaturcaraan bebas platform. Begini cara untuk mencapainya menggunakan Pustaka Standard C:
UTF-8 ke UTF-16
C 11 memperkenalkan std::wstring_convert, yang memudahkan penukaran antara sempit dan rentetan aksara lebar:
std::string utf8Source; ... std::wstring_convert<std::codecvt_utf8_utf16<char16_t>, char16_t> converter; std::u16string utf16Destination = converter.from_bytes(utf8Source);
UTF-16 hingga UTF-8
Penukaran daripada UTF-16 kepada UTF-8 adalah serupa:
std::u16string utf16Source; ... std::wstring_convert<std::codecvt_utf8_utf16<char16_t>, char16_t> converter; std::string utf8Destination = converter.to_bytes(utf16Source);
Pendekatan ini menggunakan kemudahan std::wstring_convert Perpustakaan C Standard yang berkuasa, menawarkan penyelesaian piawai dan cekap untuk penukaran aksara UTF8 berbilang platform.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Antara UTF-8 dan Rentetan Watak Lebar dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!