Delphi 2010宽字符函数与字符串函数的区别

8
我们目前正在将 Delphi 2007 项目转换为 Delphi 2010。我们已经在使用 Unicode(通过 WideStrings 和 TNT Unicode 控件)。
我原本以为需要替换所有 Wide 函数,例如 WideUpperCase,为它们的等效函数,例如 UpperCase,但它们的工作方式并不相同。例如,WideUpperCase 正确地将 Campañas 大写,但 UpperCase 将 ñ 保持为小写。
还有其他我需要注意的区别吗?例如,WideFormat 和 Format 是否相同?
谢谢
2个回答

9

您应该使用Character单元中的ToUpper函数将Unicode字符串转换为大写。或者,如果您需要支持非Unicode和Unicode Delphi版本的通用代码库,则可以使用AnsiUpperCase - AnsiUpperCase是Delphi 2007及之前版本的Ansi函数,也是Delphi 2009及以上版本的Unicode函数。


1

这个命名真的很糟糕(由于为了保持与旧版本的兼容性)。我建议您阅读每个字符串函数的cos并检查它是否支持Unicode。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接