作者johnnyyushin (唐唐唐)
看板C_and_CPP
標題[問題] 輸入的中文字轉成Unicode(已解決)
時間Mon May 9 18:42:16 2016
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
問題(Question):
如何用輸入的鍵入中文後轉成Unicode
餵入的資料(Input):
例如輸入 批踢踢
預期的正確結果(Expected Output):
回復三個UINT 25209 36386 36386
補充說明(Supplement):
各位板友好,小的在發文前已閱讀過去關於中文字,Unincode相關文章,
還是不得其要領,
是否有板友能提供更精確的方向,在此大大感謝各位
非常感為各位的協助,此問題已解決,在這邊提供我的作法,回饋本版
const char* pStr1 = str.c_str();
int wchar_size = MultiByteToWideChar(CP_ACP, 0, pStr1, -1, NULL, 0); //求size
wchar_size = wchar_size*sizeof(wchar_t);
wchar_t *pWStr = new wchar_t[wchar_size + 1];
//使用剛剛求出的size建立寬字元字串
MultiByteToWideChar(CP_ACP, 0, pStr1, -1, pWStr, wchar_size);
如有想法還不吝嗇回文提供
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.226.241.102
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1462790538.A.FB6.html
2F:推 LPH66: 轉碼不是問題, 你的輸入是什麼碼才是重點 05/09 19:49
3F:→ LPH66: 而這跟你所用的輸入方式 (ex: 視窗/命令字元/etc.) 有關 05/09 19:49
4F:→ johnnyyushin: 還是感謝j大提供,但需要用輸入的>< 05/09 19:49
5F:→ johnnyyushin: L大您好,我是使用win32console直接輸入中文 05/09 19:56
7F:→ suhorng: win32console...bye bye XD 05/09 19:57
8F:→ suhorng: 這樣還要把 utf-8 解碼成 code point? 05/09 19:58
9F:→ johnnyyushin: 感謝C大,我參閱看看 05/09 20:11
10F:→ johnnyyushin: s大,不知是否有類似把輸入string轉到wstring利用這 05/09 20:12
11F:→ johnnyyushin: 樣做的方向 05/09 20:12
12F:→ johnnyyushin: 各位版友,如果用一個很蠢的方式,將輸入的字串存入 05/09 20:27
13F:→ johnnyyushin: 一個unicode編碼的txt在用讀檔的方式寫進wchar_t是 05/09 20:27
14F:→ johnnyyushin: 否也是一個解呢? 05/09 20:27
15F:推 LPH66: win32 console 的編碼會是原生編碼 (eg. 繁中即 big5) 05/09 20:53
16F:→ LPH66: 多字元組編碼轉 unicode 基本上都是用 MultiByteToWideChar 05/09 20:54
17F:→ LPH66: 去 google 一下這個 windows api 就知道了 05/09 20:54
18F:→ johnnyyushin: 好的!謝謝L大提供方向,先查著試著來! 05/09 21:27
※ 編輯: johnnyyushin (36.228.73.88), 05/14/2016 21:00:34
19F:推 Caesar08: 有回饋有推 05/15 19:35