BIG5 GB & Unicode轉換的問題 |
答題得分者是:m8815010
|
leeli
初階會員 發表:57 回覆:55 積分:27 註冊:2003-06-25 發送簡訊給我 |
Dears:
小弟我寫的一隻程式,功能是BIG5轉成Unicode。程式碼如下:
szText = ChangWord; MultiByteToWideChar(CP_ACP, 0, szText.c_str(), -1, wszText, 512*2); TMemoryStream *ms = new TMemoryStream; ms -> Size = StrToInt(szText.Length())*sizeof(wchar_t); ms -> Write(wszText, ms -> Size); for (int i = 0; i < ms -> Size/2; i ) { BYTE *a = (BYTE*)wszText i*2; BYTE *b = (BYTE*)wszText i*2 1; *a^=*b; *b^=*a; *a^=*b; } for (int i = 0; i < ms -> Size/2; i ) { BYTE *a = (BYTE*)ms -> Memory i*2; BYTE *b = (BYTE*)ms -> Memory i*2 1; *a^=*b; *b^=*a; *a^=*b; } for (int i=0; i現在小弟我有一個問題: 請問用這個相同的程式是否能將GB轉成Unicode呢? 如果不能的話,應該修改哪裡呢? 小弟我是BCB的新手,若有發問一些蠢問題,敬請見諒。 對於各位的大力協助,感激不盡!
------
小弟我是BCB的新手,若有發問一些蠢問題,敬請見諒。 對於各位的大力協助,感激不盡! |
m8815010
版主 發表:99 回覆:372 積分:289 註冊:2003-11-13 發送簡訊給我 |
引言: Dears: 小弟我寫的一隻程式,功能是BIG5轉成Unicode。程式碼如下:leeli你好: 沒有實際 >! 也就是說<>>這個>>,表示你叫它選>>"才可以的!szText = ChangWord; MultiByteToWideChar(CP_ACP, 0, szText.c_str(), -1, wszText, 512*2); TMemoryStream *ms = new TMemoryStream; ms -> Size = StrToInt(szText.Length())*sizeof(wchar_t); ms -> Write(wszText, ms -> Size); for (int i = 0; i < ms -> Size/2; i ) { BYTE *a = (BYTE*)wszText i*2; BYTE *b = (BYTE*)wszText i*2 1; *a^=*b; *b^=*a; *a^=*b; } for (int i = 0; i < ms -> Size/2; i ) { BYTE *a = (BYTE*)ms -> Memory i*2; BYTE *b = (BYTE*)ms -> Memory i*2 1; *a^=*b; *b^=*a; *a^=*b; } for (int i=0; i現在小弟我有一個問題: 請問用這個相同的程式是否能將GB轉成Unicode呢? 如果不能的話,應該修改哪裡呢? 小弟我是BCB的新手,若有發問一些蠢問題,敬請見諒。 對於各位的大力協助,感激不盡! |
leeli
初階會員 發表:57 回覆:55 積分:27 註冊:2003-06-25 發送簡訊給我 |
引言: leeli你好: 沒有實際run過你的source code,如果它是ok由BIG5轉成Unicode的話,那我想你的PC應該是中文版的! 也就是說MultiByteToWideChar這個function的第一個參數你下的是CP_ACP,表示你叫它選system default(中文版OS理應是Big5)的字碼表(code page)!於是它便把input字串當成一個Big5的字串去轉成unicode! 所以今天你要在中文版的OS轉GB成unicode,理應是下第一個參數成"936"才可以的!Dear m8815010: 我的系統是繁體中文版的沒錯。 忘了把我的問題說清楚。我現在是想要在簡體版的OS下去執行這一段程式。不知道這樣是不是能把GB轉成Unicode呢? 小弟我是BCB的新手,若有發問一些蠢問題,敬請見諒。 對於各位的大力協助,感激不盡!
------
小弟我是BCB的新手,若有發問一些蠢問題,敬請見諒。 對於各位的大力協助,感激不盡! |
m8815010
版主 發表:99 回覆:372 積分:289 註冊:2003-11-13 發送簡訊給我 |
引言: Dear m8815010: 我的系統是繁體中文版的沒錯。 忘了把我的問題說清楚。我現在是想要在簡體版的OS下去執行這一段程式。不知道這樣是不是能把GB轉成Unicode呢? 小弟我是BCB的新手,若有發問一些蠢問題,敬請見諒。 對於各位的大力協助,感激不盡!leeli你好< >: 是的,可以的< >! 嗯,剛剛按錯了!還沒說完! >>這個表示>>! 但並不是隨便的字碼表>>去查詢! 另外你在中文版>国>",它的輸出>>,這是錯的,這不是它真正的>>,但在中文版>弊>!也就是它會把国當成弊去轉出>>就是吃 >! 發表人 - |
hungchieh1029
一般會員 發表:0 回覆:1 積分:0 註冊:2011-08-11 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |