如题,哪位对这些了解比较清楚,请指教。

解决方案 »

  1.   

    S : AnsiString;
    WS : WideString;S := 'aaaa';
    WS := S;
    S := WS;PAnsiChar和PWideChar只是一个指针而已,
    针对他们 取^ 时,分别得到一个Ansi字符和Wide字符说起来还真不好说清楚-_!
      

  2.   

    Sting是双字节字符串
    WideString单字节字符串 
    直接赋值就可以转换var
      str: AnsiString;
    begin
      str := '万一';
      ShowMessage(IntToStr(Length(str))); {长度是: 4}
    end;
    --------------------------------------------------------------------------------//宽字符串 WideString (效率不及 AnsiString)
    var
      str: WideString;
    begin
      str := '万一';
      ShowMessage(IntToStr(Length(str))); {长度是: 2}
    end;
    http://www.cnblogs.com/del/archive/2008/03/03/1088956.html这里介绍比较祥细了
      

  3.   

    String:2009以前版本就是AnsiString,是单字节的字符串,后面的版本是UnicodeString
    如Length('张三')长度为4 (1个汉字占2个字节)
    WideString:由WideChar组成,是双字节的字符串,Length('张三')长度为2,AnsiChar:1字节Ansi字符
    WideChar:2字节的Unicode字符
    Char:相当于AnsiChar;Sting与WideString,AnsiChar与WideChar都可以直接转换
    只不过他们占用字节不同,所以用length()取长度结果也不同前面加上P,就是表示相应的指针类型了
    区别是要申请内存空间,访问的时候用^符号,不加^符号也是可以的。编译器有时会帮你处理