1.段字符串ShortString。
短字符串的管理师这样的,类似数组:0处保存字符串的长度,从1处开始了内容,ShortString的总长度是256,因此,实际的内容长度只能为255,并且内容结束没有结束字符,即不是以#0结尾的。
2.Ansi-String.
Delphi里面默认的字符串是Ansi-string,这种字符串是以#0为结尾的,这样就可以同PChar相互的转换。
3 对于string类型,到底是当做那种字符串类型来处理,这样用编译指令{$H};来确认的,打开代表是Ansi-string,这种是系统默认的。关闭代表shortString,这种事系统默认的。另外,定义string[N].0<N<=255.
4 单字节、双字节
具体是哪种,决定了表示的方式、长度。并不是说只有用WideString来表示汉字,但是取的时候要注意。
procedure TForm1.btn4Click(Sender: TObject);
var
s: string;
ws: WideString;
begin
s := 'I''m a student学生';
ws := 'I''m a student学生';
ShowMessage(s[Length(s)]); //这样取得的是空的,并不是说明s不能表示汉字
ShowMessage(AnsiLastChar(s)); //显式说明为Ansi这种方式表示
ShowMessage(ws[Length(ws)]); //这种不会混淆,可以直接取
end;
关于string丰富的操作来自于StrUtils。