XE下繁體Unicode文字如何轉換為簡體Unicode文字? |
缺席
|
h@visli
資深會員 發表:103 回覆:429 積分:431 註冊:2004-02-13 發送簡訊給我 |
|
mypigbaby
高階會員 發表:11 回覆:168 積分:155 註冊:2006-07-20 發送簡訊給我 |
試看看
這個是豬寶寶從網路上抄來的 [code delphi] function Cn2Big(CnStr: string): string; var Len: Integer; begin Len := Length(CnStr); SetLength(Result, Len); LCMapString(GetUserDefaultLCID, LCMAP_TRADITIONAL_CHINESE, PChar(CnStr), Len, PChar(Result), Len); end; function BIG2cn(bigStr: string): string; var Len: Integer; begin Len := Length(bigStr); SetLength(Result, Len); LCMapString(GetUserDefaultLCID, LCMAP_SIMPLIFIED_CHINESE, PChar(bigStr), Len, PChar(Result), Len); end; procedure TForm1.Button1Click(Sender: TObject); begin edit2.Text:=CN2BIG(EDIT1.Text); end; procedure TForm1.Button2Click(Sender: TObject); begin edit2.Text:=big2cn(EDIT1.Text); end; [/code] ===================引 用 h@visli 文 章=================== 各位新春快樂! 我有一份Unicode編碼的文本文檔,裏面大部分內容為繁體中文,其它為英文字符,需要將裏面的繁體中文內容轉為簡體中文Unicode內容,請問在Delphi XE下應該如何實現? |
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
hello,
必需要警告豬寶寶上面貼的程式碼僅在以下情形是正確的: 1/ os本身是簡體的,而無論delphi是哪版 (d5以後應該都對) 2/ 若os是我們繁體的,那麼上面的碼僅delphi2009以上的版本才會正確。若2009以前的話,就錯! 若要正統的表達函式的用意,那 Cn2Big 或 Big2Cn的命名不正確。應該把 Cn2Big 改成 chs2cht (簡字體轉繁字體,必需強調的是…它與編碼轉換無關,也就是說都是在同一個編碼上換字而已) Big2Cn 改成 cht2chs 因為,在上述所講的 1 的情形下,且delphi是2009前,雖然"看起來"字是對的,但其實轉來轉去都是GBK編碼,非big5。 而1的情形下,但delphi是2009以後,那麼情形與情形2是同樣的! 而上述2的情形下,其實是因為d2009後的字串是unicode,故LCMapString這個api會呼叫到LCMapStringW這個unicode版,於是變成簡"字型"unicode轉"繁"字型unicode。 若真的要把big5轉簡體,或是簡體轉big,那就沒那麼簡單。詳可見我的blog: http://aftcast.pixnet.net/blog/post/22191609 此外,近期我可能會和qcom討論是否可以開個unicode的深入課程,最快3月多。但時候還請大家來聽並指教! :) ===================引 用 mypigbaby 文 章=================== 試看看 這個是豬寶寶從網路上抄來的
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan
編輯記錄
aftcast 重新編輯於 2013-02-18 03:35:45, 註解 無‧
|
sryang
尊榮會員 發表:39 回覆:762 積分:920 註冊:2002-06-27 發送簡訊給我 |
|
h@visli
資深會員 發表:103 回覆:429 積分:431 註冊:2004-02-13 發送簡訊給我 |
MadEdit這個工具很給力哦。可以完成我的任務。
但我還是想跟大家來探討一下這個Unicode碼集下的繁簡轉換,查了一下維基百科(http://zh.wikipedia.org/wiki/Category:維基字詞轉換),確實不太簡單。 ===================引 用 sryang 文 章=================== 我都用 MadEdit 來轉,不用寫程式 (我是來亂的)
------
------------------------ 博采眾家之長,奉獻綿薄之力 ------------------------ |
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
@@,昏了…
若只是工具而非程式處理,那一堆好用的。我從以前到現在就用convertz,極強的轉換器! ===================引 用 h@visli 文 章=================== MadEdit這個工具很給力哦。可以完成我的任務。 但我還是想跟大家來探討一下這個Unicode碼集下的繁簡轉換,查了一下維基百科(http://zh.wikipedia.org/wiki/Category:維基字詞轉換),確實不太簡單。 ===================引 用 sryang 文 章=================== 我都用 MadEdit 來轉,不用寫程式 (我是來亂的)
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan |
h@visli
資深會員 發表:103 回覆:429 積分:431 註冊:2004-02-13 發送簡訊給我 |
|
Coffee
版主 發表:31 回覆:878 積分:561 註冊:2006-11-15 發送簡訊給我 |
convertz無敵,連編碼都可以處理
===================引 用 aftcast 文 章=================== @@,昏了… 若只是工具而非程式處理,那一堆好用的。我從以前到現在就用convertz,極強的轉換器! ===================引 用 h@visli 文 章=================== MadEdit這個工具很給力哦。可以完成我的任務。 但我還是想跟大家來探討一下這個Unicode碼集下的繁簡轉換,查了一下維基百科(http://zh.wikipedia.org/wiki/Category:維基字詞轉換),確實不太簡單。 ===================引 用 sryang 文 章=================== 我都用 MadEdit 來轉,不用寫程式 (我是來亂的)
------
不論是否我發的文,在能力範圍皆很樂意為大家回答問題。 為了補我的能力不足之處,以及讓答案可以被重複的使用,希望大家能儘量以公開的方式問問題。 在引述到我的文時自然會儘量替各位想辦法,謝謝大家! |
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |