首頁 > 後端開發 > C++ > 如何可靠地將 C 字串轉換為寬字串?

如何可靠地將 C 字串轉換為寬字串?

Barbara Streisand
發布: 2024-12-22 12:34:10
原創
443 人瀏覽過

How Can I Reliably Convert a C   String to a Wide String?

Converting Strings to Wstrings in C

您的問題涉及將字串 s 轉換為 C 中的寬字串 ws 。雖然有些方法不能完全保留原始內容,但有一個使用標準庫元件的有效解決方案。

問題描述

給定一個字串 s,您想要將其內容分配給 wstring ws。然而,先前的嘗試導致轉換失真或不準確。

解決方案:標準庫轉換

#include <locale>
#include <codecvt>
#include <string>

std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>> converter;
std::wstring ws = converter.from_bytes(s);
登入後複製

說明

此程式碼使用標準庫

  • 此程式碼使用標準庫
  • std::wstring_convert:一個轉換器對象,提供from_bytes() 方法用於將 char 字串轉換為 wstring。

std::codecvt_utf8_utf16:A UTF-8 和UTF-16 之間轉換的字元編碼轉換器

透過使用這種編碼轉換,s 中的原始Unicode 字元被準確地保留在ws 中。

以上是如何可靠地將 C 字串轉換為寬字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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