如何在Delphi Xe2中使用新类型的字符串?
请注意,sarnold对此问题进行了大量编辑;原本的
整个问题作为评论保留在问题中.如果我做了 不明确的事情,也许原来的帖子会有所帮助. (我走了 它作为评论,所以未来的编辑不需要总是参考 问题编辑历史.) 我正在使用Delphi Xe2,需要帮助了解如何使用ANSI 我需要使用Delphi Xe2编写DLL来执行简单的字符串操作 默认情况下,字符串现在应该是Unicode字符串.我们应该使用吗? 字符串是:(a)不支持Unicode的单字节字符 有两种指针类型:PAnsiChar和PWideChar(那里 对于字符串常量,我们是否需要在字符串中标记字符串的类型 Const MyCo = 'test'; 要么 Const MyCo = WideString('test'); 当我们在字符串变量之间执行赋值时怎么样? s := st; 这应该重写: s := WideString(st); 我们应该在字符串中包含Unicode字节顺序标记吗?应该怎样 我们应该如何使用不同Windows代码页中的ANSI字符串?如果 我们应该如何使用TEncoding类在Unicode,UTF-8之间进行转换, 使用宽字符串或Unicode是否存在严重的性能损失 我们应该编写我们的接口以要求只使用WideString 我们是否应该将接口编写为需要PChar的长度参数, 如何编写我们的接口来确定文件是否以Unicode存储, 我们应该只使用程序吗?或者功能也可以吗? 谢谢,新年快乐. 解决方法
我得到的印象是Gu正在从Delphi 7转向支持Unicode的版本(D2009),并正在寻找有关如何处理新字符串的建议.
Cary Jensen的白皮书Delphi Unicode Migration for Mere Mortals解决了问题中提出的大部分问题. 我通常会把它放在评论中,但是评论列表已经很久了,我觉得在答案中更容易找到链接(这可能有助于更多人而不仅仅是顾). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |