昨天夜里,写一个小程序时,发现函数Length()在Delphi2010与Delphi6下返回值不同。
Length('Delphi语言'):
Delphi6 => 10
Delphi2010 => 8。
一看很明显是对汉字的长度计数是不一样的。原来Delphi2010是unicode编码的,一个汉字长度算1。
平时工作用的是Delphi6,在家偶尔用用2010,怎么保持兼容呢?
呵呵,有办法,字符串类型定义成AnsiString即可,不能用String了。
本文介绍了在使用Delphi2010与Delphi6进行编程时遇到的Length函数返回值差异问题。由于Delphi2010采用Unicode编码,而Delphi6使用Ansi编码,导致相同字符串的长度计算结果不同。文章提供了解决方案,即通过将字符串类型定义为AnsiString来保持两者之间的兼容性。
昨天夜里,写一个小程序时,发现函数Length()在Delphi2010与Delphi6下返回值不同。
Length('Delphi语言'):
Delphi6 => 10
Delphi2010 => 8。
一看很明显是对汉字的长度计数是不一样的。原来Delphi2010是unicode编码的,一个汉字长度算1。
平时工作用的是Delphi6,在家偶尔用用2010,怎么保持兼容呢?
呵呵,有办法,字符串类型定义成AnsiString即可,不能用String了。

被折叠的 条评论
为什么被折叠?