如何將unicode插入exe中使成為獨立系統 |
尚未結案
|
jl
一般會員 發表:17 回覆:34 積分:10 註冊:2004-02-28 發送簡訊給我 |
|
aquarius
資深會員 發表:3 回覆:347 積分:330 註冊:2003-05-21 發送簡訊給我 |
引言: 各位delphi好友: 小弟又有問題需要解決: 1.unicode有這樣多,怎樣可提取以1種unicode鑲入exe中,可以使到將exe在別的系統中也不受該台機系統的unicode影響呢? 希能得到各方delphi好友回覆解決此問題。Unicode 只有一種呀!! 你的不同是指 CodePage 還是 編碼法? Code Page 只要在程式中指定 Charset 就可以了. 編碼法只是在不同的機器上, 有的是 LowByte 放在前, 有的放在後, 所以設定了不同的表頭以便程式區分, 但實際上的編碼表, 只有一份呀!! ...Aquarius
------
水瓶男的blog: http://791909.blogspot.com |
jl
一般會員 發表:17 回覆:34 積分:10 註冊:2004-02-28 發送簡訊給我 |
引言:To Aquarius: 先答謝您的回覆,我的問題是指編碼方面。因是初學者,對於這方面極不熟識。請多多指教。 另外,若是編碼表只有一份,那麼有甚麼樣的方法可將編碼表放入獨立的EXE檔案中呢?(使到在不同的機器上都能得出同樣的結果呢?) from:jl 平常心活著引言: 各位delphi好友: 小弟又有問題需要解決: 1.unicode有這樣多,怎樣可提取以1種unicode鑲入exe中,可以使到將exe在別的系統中也不受該台機系統的unicode影響呢? 希能得到各方delphi好友回覆解決此問題。Unicode 只有一種呀!! 你的不同是指 CodePage 還是 編碼法? Code Page 只要在程式中指定 Charset 就可以了. 編碼法只是在不同的機器上, 有的是 LowByte 放在前, 有的放在後, 所以設定了不同的表頭以便程式區分, 但實際上的編碼表, 只有一份呀!! ...Aquarius
------
平常心活著 |
aquarius
資深會員 發表:3 回覆:347 積分:330 註冊:2003-05-21 發送簡訊給我 |
1. Delphi 內定使用的是 AnsiString, 若是你要使用 Unicode, 那麼一堆 VCL 都不能用了. 2. 要在 DELPHI 中使用 Unicode 可以參考一套 TNT Delphi Unicode Control 的元件 http://tnt.ccci.org/delphi_unicode_controls/ 3. 你的不同機器用的是什麼作業環境? Windows 98/ME 是不支援 Unicode 的系統. 雖然有其他的方法可以做出來(例如 MS OFFICE 系列軟體), 但是太麻煩, 不容易呀!! 4. Unicode 的編碼是標準呀! 你只要將用上述的 TNT 元件應該就可以做出你想要的效果. 當然, 若你要顯示其他 CODEPAGE 的碼, 例如在繁體中文下顯示日文, 前提是你安裝的那台機器也要有對應的字型檔, 否則還是顯示不出來的!! ...Aquarius
------
水瓶男的blog: http://791909.blogspot.com |
jl
一般會員 發表:17 回覆:34 積分:10 註冊:2004-02-28 發送簡訊給我 |
To aquarius:
再次感激您的回覆,我現正消化中... 而我所指的不同機器應是指不同的操作平台-Windows, Linex, Mac. 還有,正如您所述的CodePage碼只有份,那麼即時說,
a. 每台機器所載入的只是其中一部份
(例如繁體中文只是codepage的其中一份,若有須要才載入其他如日文、
簡體中文或韓文等等,否則不能顯示相關的文字,但codepage仍然存在於機器中,只不過系統未能顯示[像缺了鑰匙一樣,無法開啟])-我的理解是否正確呢?
b. 另外,您說ansistring是delphi內置的,那麼與unicode最大的差別是甚麼呢?
ansistring能涵括的有那些文字(中文、英文,...)能否再介紹一下呢? 再一次謝謝aquarius的回覆,感激感激
jl
平常心活著
------
平常心活著 |
aquarius
資深會員 發表:3 回覆:347 積分:330 註冊:2003-05-21 發送簡訊給我 |
A. 這樣說也沒錯啦! 另外在 Windows 2000/XP 下, 系統會自動切換 Unicode 和 AnsiString . 也就是說, 若你在程式中使用 Unicode, 但是目前的系統中並沒有安裝 Unicode 字型, Windows 2000/XP 會自動幫你轉換為 AnsiString 後顯示出來, 當然這樣的轉換不保證成功, 因為可能會有找不到字型的狀況發生. B. 最大的不同, 就是編碼法不一樣呀!! AnsiString 是指各地區自行定義的編碼法, 例如 台灣用 BIG5, 大陸用 GB, 日本用 Shift-JIS ... 等, Unicode 則是把這些做整理, 整合到一份大的編碼表當中. 另外就是使用的位元數不同, 以英文母為例, 'A' 在 AnsiString 中只佔 1 個 Byte, 但是在 Unicode 中佔用 2 個 Byte. ...Aquarius
------
水瓶男的blog: http://791909.blogspot.com |
jl
一般會員 發表:17 回覆:34 積分:10 註冊:2004-02-28 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |