首頁 > 後端開發 > C++ > 如何在 C 中安全地將 UTF-8 字串轉換為 wstring?

如何在 C 中安全地將 UTF-8 字串轉換為 wstring?

Linda Hamilton
發布: 2024-12-18 03:04:09
原創
143 人瀏覽過

How Can I Safely Convert a UTF-8 String to a wstring in C  ?

C :將字串轉換為wstring,同時保留編碼

給定一個包含日文字元的字串s,並希望分配其內容到一個wstring,ws。任務是在不引入任何編碼問題的情況下執行此任務。

解決方案:

利用 C 11 及更高版本,可以僅使用標準庫完成此任務。

第1 步:包含必要的內容標頭

1

2

3

#include <locale>

#include <codecvt>

#include <string>

登入後複製

第2 步:建立轉換器

1

std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>> converter;

登入後複製
第2 步:建立轉換器

此轉換器將處理UTF-8(s的編碼)之間的轉換和UTF-16(ws的編碼)。

1

std::wstring ws = converter.from_bytes(s);

登入後複製
第3步:轉換將字串轉換為wstring

1

2

3

4

5

std::string s = "おはよう";

std::wstring ws;

 

std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>> converter;

ws = converter.from_bytes(s);

登入後複製
範例:

例如:
注意:此解決方案假設 s 包含有效的 UTF-8 編碼的 Unicode data.對於更複雜的編碼場景,請考慮使用 std::codecvt_utf8.

以上是如何在 C 中安全地將 UTF-8 字串轉換為 wstring?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板