如何将PAnsiChar转换为WideString或string?

时间:2011-04-24 07:31:39

标签: delphi delphi-7

如何将PAnsiChar变量转换为WideStringstring

4 个答案:

答案 0 :(得分:14)

您只需将一个变量分配给另一个变量,让Delphi编译器为您完成所有转换:

var
  p: PAnsiChar;
  s: string;
  w: WideString;
....
s := p;
w := p;

如果您想转换到另一个方向,并将讨论限制在Delphi 7,其中Char,PChar,字符串都是ANSI数据类型,您将使用以下内容:

PAnsiChar(s);
PAnsiChar(AnsiString(w));

当朝这个方向前进时需要强制转换,而在WideString的情况下,在请求空终止的C字符串指针之前,数据必须从Unicode显式转换为ANSI。

答案 1 :(得分:4)

var
  s: AnsiString;
  w: WideString;
  p: PAnsiChar;
...
  s := p;
  w := WideString(s);

答案 2 :(得分:2)

S:PAnsiChar;

WideString(AnsiString(s));

或者你想要的unicode Delphi:

String(AnsiString(s));

答案 3 :(得分:1)

在docs中查找StrPas函数。