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字符串存储在嵌入式资源中,具有适当物料清单的外部编码文件或数据库中。