關於 unicode 轉 big5 錯誤後的處理 |
答題得分者是:Coffee
|
jtain
一般會員 發表:16 回覆:18 積分:6 註冊:2005-01-03 發送簡訊給我 |
|
pcboy
版主 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
|
Coffee
版主 發表:31 回覆:878 積分:561 註冊:2006-11-15 發送簡訊給我 |
|
jtain
一般會員 發表:16 回覆:18 積分:6 註冊:2005-01-03 發送簡訊給我 |
|
Coffee
版主 發表:31 回覆:878 積分:561 註冊:2006-11-15 發送簡訊給我 |
我想你可去考慮一個方向,就是既然會被轉成?,那麼就可以這麼想
如果WideChar本身是個問號,那轉到AnsiChar也一定是? 可是若WideChar檢查不是?的值,轉到AnsiChar是? 那就意謂轉換失敗 我所謂的ByteType是一個function,它可以檢查這個byte是一個byte value還是一個double byte的第一個byte 以下是從TntWare中co出來的function,但我沒有測試它是否對於你的方向可行 我只是在轉Ansi到WideString中有去大致上的翻過TntWare的libs function IsWideCharMappableToAnsi(const WC: WideChar): Boolean; var UsedDefaultChar: BOOL; begin WideCharToMultiByte(DefaultSystemCodePage, 0, PWideChar(@WC), 1, nil, 0, nil, @UsedDefaultChar); Result := not UsedDefaultChar; end; function IsWideStringMappableToAnsi(const WS: WideString): Boolean; var UsedDefaultChar: BOOL; begin WideCharToMultiByte(DefaultSystemCodePage, 0, PWideChar(WS), Length(WS), nil, 0, nil, @UsedDefaultChar); Result := not UsedDefaultChar; end;
------
不論是否我發的文,在能力範圍皆很樂意為大家回答問題。 為了補我的能力不足之處,以及讓答案可以被重複的使用,希望大家能儘量以公開的方式問問題。 在引述到我的文時自然會儘量替各位想辦法,謝謝大家! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |