各位,我用NMUDP写了个UDP通信的程序,但是我发现在传送UTF-8字符时会乱码
代码如下
发送方:
var
tmp:string;
c:array[0..10230] of char;
i:integer;
begin
tmp:='测试';
tmp:= UTF8Encode (tmp);
NMUDP1.RemoteHost:='192.168.3.222';
NMUDP1.RemotePort:=12581;
i:= length(tmp);
NMUDP1.SendBuffer(tmp[1],i);
end接收方:
var
c:array[0..10230] of char;
s:string;
begin
NMUDP1.ReadBuffer(c,NumberBytes);
s:=c;
s:= UTF8Decode (s);
showmessage(s);
end;
代码如下
发送方:
var
tmp:string;
c:array[0..10230] of char;
i:integer;
begin
tmp:='测试';
tmp:= UTF8Encode (tmp);
NMUDP1.RemoteHost:='192.168.3.222';
NMUDP1.RemotePort:=12581;
i:= length(tmp);
NMUDP1.SendBuffer(tmp[1],i);
end接收方:
var
c:array[0..10230] of char;
s:string;
begin
NMUDP1.ReadBuffer(c,NumberBytes);
s:=c;
s:= UTF8Decode (s);
showmessage(s);
end;
for i := 1 to RevDataSize do
s := s + char(UdpRevBuff[i-1]);