Unicode有一組標點符號,如省略號(...),En-Dash( - )等。相信使用這些字符可以改善印刷效果,從而改善文字的視覺效果。我應該在程序中使用特殊的Unicode字符作爲標點符號,例如省略號嗎?
許多開發工具,Visual Studio中包括,支持Unicode,所以我可以輕鬆地在程序的資源使用這些字符 - 對話等
是否有不這樣做的任何原因?
Unicode有一組標點符號,如省略號(...),En-Dash( - )等。相信使用這些字符可以改善印刷效果,從而改善文字的視覺效果。我應該在程序中使用特殊的Unicode字符作爲標點符號,例如省略號嗎?
許多開發工具,Visual Studio中包括,支持Unicode,所以我可以輕鬆地在程序的資源使用這些字符 - 對話等
是否有不這樣做的任何原因?
如果您完全確定用戶的機器將具有正確顯示這些字符所需的字體(例如,對於Windows上的對話框,您應該可以依賴該字體),然後馬上行動!
爲了完全安全,我會避免在源代碼文件中使用Unicode字符,例如在硬編碼字符串中使用它們。相反,我會堅持使用ASCII或系統代碼頁。原因是一些源代碼管理系統可能不支持Unicode。
例如,Tortise SVN曾經錯誤地處理了一個Unicode源代碼文件,並最終在提交時永久性地修復了文件,使其無法修復,直到下次它被檢索進行編輯才被檢測到。我認爲當系統嘗試將新的Unicode文件中的更改合併到最初提交的非Unicode文件時發生了問題。無論如何,我不得不完全重寫代碼,因爲原始信息無法恢復。我不知道它爲什麼發生,或者現在發生的可能性有多大,但是我提到它是因爲我經歷過它。
如果您確實在源代碼文件中避免使用Unicode,那麼您可以將Unicode字符串存儲在嵌入式資源中,具有適當物料清單的外部編碼文件或數據庫中。