我想知道是否有任何方法可以將unicode代碼轉換爲C++中的字符串或char 11. 我一直在嘗試使用擴展拉丁unicode字母Á(作爲示例)哪個有這樣編纂:Unicode到char * C++ 11
信:一個
的Unicode:0x00C1
UTF8文字:\ XC3 \ X81
我已經能夠這樣做,如果它是硬編碼爲:
const char* c = u8"\u00C1";
但是,如果我將字節序列作爲一個短,我怎麼能等同於獲得char *或std :: string'?'?
編輯,SOLUTION:
我終於能夠這樣做,這裏是解決辦法,如果有人需要它:
std::wstring ws;
for(short input : inputList)
{
wchar_t wc(input);
ws += wc;
}
std::wstring_convert<std::codecvt_utf8<wchar_t>> cv;
str = cv.to_bytes(ws);
感謝您的意見,他們是非常有益的。
使用['std :: wstring_convert'](http://en.cppreference.com/w/cpp/locale/wstring_convert) – Mgetz
我已經使用wchar_t加載unicode字節,並使用wstring來連接它們,但我仍然有從它檢索正常的char *或std :: string的問題,有什麼想法? – Carles
如果你使用['std :: wstring_convert :: to_bytes'](http://en.cppreference.com/w/cpp/locale/wstring_convert/to_bytes)這很簡單 – Mgetz