Delphi2010下,中文字符串的问题,怎么转化都不行。
function TForm1.myHextoStr(S: string): string;
var
hexS:string;
tmpstr:string;
i,k,n:integer;
a:byte;
begin
hexS :=s;
k:=length(hexS);
if k mod 2=1 then
begin
hexS:=hexS+'0';
end;
n:=k div 2;
tmpstr:='';
for i:=1 to n do
begin
a:=strtoint('$'+hexS[2*i-1]+hexS[2*i]);
tmpstr := tmpstr+chr(a);
end;
result :=tmpstr;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
str: String;
begin
Edit3.Text :=myHextoStr('B6ABB6AB');
end;
上面的代码myHextoStr其实是要把串转化为16进制后再组成汉字,但输出的一直是乱码,正确的是“东东”,同样的代码我在php下是能正确输出的,但delphi下一直不行。
我把最后一行改为这样也不行。
Edit3.Text :=Utf8ToAnsi(myHextoStr('B6ABB6AB'));
请帮帮看看,感激不尽啊!