如何使固定长度的Delphi字符串使用宽字符?
发布时间:2020-12-15 09:09:13 所属栏目:大数据 来源:网络整理
导读:在Delphi 2010下(也可能在D2009下),默认字符串类型是UnicodeString. 但是,如果我们宣布…… const s :string = 'Test'; ss :string[4] = 'Test'; …然后第一个字符串s如果声明为UnicodeString,但第二个ss声明为AnsiString! 我们可以检查一下:SizeOf(s [1])
在Delphi 2010下(也可能在D2009下),默认字符串类型是UnicodeString.
但是,如果我们宣布…… const s :string = 'Test'; ss :string[4] = 'Test'; …然后第一个字符串s如果声明为UnicodeString,但第二个ss声明为AnsiString! 我们可以检查一下:SizeOf(s [1]);将返回size 2和SizeOf(ss [1]);将返回大小1. 如果我宣布…… var s :string; ss :string[4]; …比我想要的ss也是UnicodeString类型. >我如何告诉Delphi 2010这两个字符串应该是UnicodeString类型? 解决方法
对此的答案在于,string [n](一个ShortString)现在被认为是遗留类型. Embarcadero决定不转换ShortString以支持Unicode.由于引入了长字符串,如果我的记忆正确,在Delphi 2中,这对我来说似乎是一个合理的决定.
如果你真的想要WideChar的固定长度数组,那么你可以简单地声明char的数组[1..n]. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |