作者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/cn.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