C# 通过SOCKET发送的中文,Delphi接收后变成???
C#服务器端:
void appServer_NewRequestReceived(AppSession session, StringRequestInfo requestInfo)
{
string msg;
msg= "成功!";
session.Send(msg);
}
DELPHI客户端:
procedure TForm1.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
var s: Ansistring;
begin
s := Socket.ReceiveText;
Edit2.Text := s; // 这里s 返回问号 ???
end;
ReceiveText 返回的是 AnsiString,我想可能是编码的问题,C#的STRING默认是什么,DELPHI这边接收后要怎么转换?
function TCustomWinSocket.ReceiveText: AnsiString;
begin
SetLength(Result, ReceiveBuf(Pointer(nil)^, -1));
SetLength(Result, ReceiveBuf(Pointer(Result)^, Length(Result)));
end;