如何将ANSI码转成INCODE编码 |
答題得分者是:RaynorPao
|
I_Love_You
一般會員 發表:18 回覆:87 積分:21 註冊:2002-07-24 發送簡訊給我 |
各位大大,我想将ANSI编码的汉字或字符转换成incode编码的汉字或字符,
要如何来实现呢?我找到一个函数StringToWideChar(),但用了之后提示
有错误,不知道怎么回事,下面就是我测试代码: wchar_t *DStr;
String SStr="我们大家都是中国人";
StringToWideChar(SStr,DStr,18); 一执行上面的代码就会出错,不知道为什么?或者有其他途径可以
实现我上面所说的ansi->incode编码的吗?指点一下小弟,万分感谢!
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 各位大大,我想将ANSI编码的汉字或字符转换成incode编码的汉字或字符, 要如何来实现呢?我找到一个函数StringToWideChar(),但用了之后提示 有错误,不知道怎么回事,下面就是我测试代码: wchar_t *DStr; String SStr="我们大家都是中国人"; StringToWideChar(SStr,DStr,18); 一执行上面的代码就会出错,不知道为什么?或者有其他途径可以 实现我上面所说的ansi->incode编码的吗?指点一下小弟,万分感谢!I_Love_You 你好: 很高興又見到你了 關於你的問題~~請查詢
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
I_Love_You
一般會員 發表:18 回覆:87 積分:21 註冊:2002-07-24 發送簡訊給我 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 非常感谢RaynorPao大大的回应,我按照MSDN上提供的范例测试了一下, 结果还是一运行出现错误,不知道怎么回事?您在您那边有测试过吗? (唉,为什么要存在两种不同的编码体制呢,转来转去的) 有哪位大大做过这样转换吗?指点指点小弟,万分感谢,谢谢!!!I_Love_You 你好: 我的經驗是最後兩個參數要特別注意 例如~~假設你要轉換的字串是 "中國人abc" 如果以 ansi 的資料結構方式~~總共要 9 個 bytes(不含結尾'\0') 如果以 unicode 的資料結構方式~~總共要 12 個 bytes(不含結尾'\0\0') 因此~~如果你的 ansi 字串原來的長度是 10 的話 最好將 MultiByteToWideChar 的最後一個參數設為 (10 1)*2 並為倒數第二個參數 alloc 同樣大小的記憶體 備註: 你如果覺得 > < class="code"> char sz[256]="我們大家都是中國人"; AnsiString asz=(AnsiString)sz; int iWCBuf=asz.WideCharBufSize(); wchar_t wsz[512]={0}; asz.WideChar(wsz, iWCBuf); -- Enjoy Researching & Developing -- 發表人 - RaynorPao 於 2003/01/05 21:25:26
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
I_Love_You
一般會員 發表:18 回覆:87 積分:21 註冊:2002-07-24 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |