Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menukar Antara UTF-8 dan Rentetan Watak Lebar dalam C?

Bagaimana untuk Menukar Antara UTF-8 dan Rentetan Watak Lebar dalam C?

Patricia Arquette
Lepaskan: 2024-12-30 09:18:17
asal
604 orang telah melayarinya

How to Convert Between UTF-8 and Wide Character Strings in C  ?

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

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

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!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan