Widestring 与 String 转换

Widestring 与 String 转换

function GetWideString(Const s:string):WideString;
var i:integer;
u4str:UCS4String;
begin
len:=Length(S);
SetLength(u4str,len+1);
for i:=1 to len do
begin
u4str[i-1]:=UCS4Char(S[i]);
end;
u4str[len]:= UCS4Char(#0);
Result:=UCS4StringToWideString(u4str);
end;

function GetString(Const WideStr:WideString):String;
var u4str:UCS4String;
i:integer;
s:string;
begin
setlength(u4str,len+1);
SetLength(s,len);
u4str:=WideStringToUCS4String(WideStr);
for i:=1 to len do
begin
s[i]:=char(u4str[i-1]);
end;
Result:=s;
end;

procedure TForm1.Button1Click(Sender: TObject);
var StrInput:string;
StrOutput:string;
WideStr:widestring;
begin
StrInput:=#2+#3+#0+#10+#0+#1+#164+#59;

WideStr:= GetWideString(StrInput); //转为widestring

StrOutput:=GetString(WideStr); //转为string

if StrInput=StrOutput then
showmessage('ok');
end;  
posted @ 2013-03-08 17:20  hanks  阅读(383)  评论(0)    收藏  举报