一: 关于string;
xe7中string默认的是unicodestring,所以计算一些中英文的字符串长度会出现不同,
unicodestring中每个字符已2个字节存储,长度为2,即使是英文也会填充空格弥补.
ansistring中汉子长度为2,英文为1.
比如如下代码:
var
s: string;
i: integer;
begin
s:= edit1.Text;
//s:= '啊是的1a';{啊和是中间有空格}
label1.Caption:= s +'(sizeof)' + ':' + inttostr(sizeof(s));{4}
label2.Caption:= s +'(length)' + ':' + inttostr(length(s));{8}
end;
但如果现在是想得到他们长度为9怎么办?可以使用如下方法;
1: 引用