[問題] 輸入的中文字轉成Unicode

看板C_and_CPP作者 (唐唐唐)時間8年前 (2016/05/09 18:42), 8年前編輯推噓4(4015)
留言19則, 5人參與, 最新討論串1/1
開發平台(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://www.ptt.cc/bbs/C_and_CPP/M.1462790538.A.FB6.html

05/09 19:35, , 1F
我只會寫死的XD
05/09 19:35, 1F

05/09 19:49, , 2F
轉碼不是問題, 你的輸入是什麼碼才是重點
05/09 19:49, 2F

05/09 19:49, , 3F
而這跟你所用的輸入方式 (ex: 視窗/命令字元/etc.) 有關
05/09 19:49, 3F

05/09 19:49, , 4F
還是感謝j大提供,但需要用輸入的><
05/09 19:49, 4F

05/09 19:56, , 5F
L大您好,我是使用win32console直接輸入中文
05/09 19:56, 5F

05/09 19:56, , 6F
找到一篇蠻不錯的文章 http://goo.gl/hYwpbA
05/09 19:56, 6F

05/09 19:57, , 7F
win32console...bye bye XD
05/09 19:57, 7F

05/09 19:58, , 8F
這樣還要把 utf-8 解碼成 code point?
05/09 19:58, 8F

05/09 20:11, , 9F
感謝C大,我參閱看看
05/09 20:11, 9F

05/09 20:12, , 10F
s大,不知是否有類似把輸入string轉到wstring利用這
05/09 20:12, 10F

05/09 20:12, , 11F
樣做的方向
05/09 20:12, 11F

05/09 20:27, , 12F
各位版友,如果用一個很蠢的方式,將輸入的字串存入
05/09 20:27, 12F

05/09 20:27, , 13F
一個unicode編碼的txt在用讀檔的方式寫進wchar_t是
05/09 20:27, 13F

05/09 20:27, , 14F
否也是一個解呢?
05/09 20:27, 14F

05/09 20:53, , 15F
win32 console 的編碼會是原生編碼 (eg. 繁中即 big5)
05/09 20:53, 15F

05/09 20:54, , 16F
多字元組編碼轉 unicode 基本上都是用 MultiByteToWideChar
05/09 20:54, 16F

05/09 20:54, , 17F
去 google 一下這個 windows api 就知道了
05/09 20:54, 17F

05/09 21:27, , 18F
好的!謝謝L大提供方向,先查著試著來!
05/09 21:27, 18F
※ 編輯: johnnyyushin (36.228.73.88), 05/14/2016 21:00:34

05/15 19:35, , 19F
有回饋有推
05/15 19:35, 19F
文章代碼(AID): #1NC6cA-s (C_and_CPP)