我在编一个监控数据包软件的时候,为什么在数据包里面,接收的数据是英文能够看到,中文却变成乱码之类的???(50分)

  • 主题发起人 主题发起人 lpzst002
  • 开始时间 开始时间
to Luckm
非常感谢你提供了这么多理论性的答案,但这些我都无从下手阿,
不过还是非常感谢你,如果有关这方面的delphi代码,我想对我的实质性帮助更好
 
把你的代碼貼出來讓大家分享分享一下啊!
 
to Luckm:
我也是遇到同类的问题,在以下的接收数据包过程中,通过Chr(byte(xx))处理数据包后显示基本上正常,但也有乱码的情况,不知如何让它显示正常?谢谢!
procedure TfrmMain.MyDataReceive(ASender: TObject; var Data: OleVariant;
TTL, Proto: Integer; const SrcIP, DestIP: WideString; SrcPort,
DestPort: Integer);
var
sData: string;
i, iLenBuf: Integer;
begin
iLenBuf:= VarArrayHighBound(Data, 1) + 1;
for i:= 1 to iLenBuf do
sData:= sData + Chr(Byte(Data[i - 1])); //是不是这里的问题?
if Length(Trim(sData)) > 0 then
begin
Memo1.Lines.Add(sData);
Memo1.Lines.Add('*******长度:' + IntToStr(Length(sData)));
Memo1.Lines.Add('==========================================================');
Memo1.Lines.Add('');
end;
end;

以下是读取数据包后显示的内容:
==========================================================

HTTP/1.0 200 OK
Date: Thu, 26 Jun 2003 13:51:40 GMT
Server: Apache/1.3.26 (Unix)
Content-Type: text/html
Age: 581
X-Cache: HIT from bj205.163.com
X-Cache-Lookup: HIT from bj205.163.com:80
Connection: close

<html>
<HEAD>
<META HTTP-EQUIV=Content-Type CONTENT="text/html; charset=gb2312">
<title>网易新闻频道--中印古老文明交往的见证——记瓦杰帕伊访问洛阳</title>
<style type=text/css>
<!--
body{text-align:center}
tr,td,p1{font-size:12px}
{font-size:14.8px;background-color:#6E9ECC;}
.lth{font-size:14.8px;background-color:#73A3D0}
.ltd{font-size:14.8px;background-color:#EDF3F7}
.lth2{font-size:14.8px;background-color:#3772A6}
.rth{font-size:14.8px;background-color:#5383B2}
.rtd{font-size:14.8px;background-color:#F1F8FD}
.rth2{font-size:14.8px;background-color:#5383B2}
.ctr{background-color:e4e4e4}
.imgt{color:000066}
.sm{font-size:9px}
.line{font-size:1pt;line-height:1pt;}
.pt{font-size:16px}
.p1{font-size:12px;}
.p2{font-size:12px;line-height:150%;}
.tt{font-size:14.8px;line-height:155%}
.p3{font-size:14.8px;}
.p4{font-size:14.8px;line-height:14pt;}
.p5{font-size:12px;}
.p6{font-size:14.8px;line-height:22px;}
.p7{font-size:14.8px;line-height:160%;}
.p8{color:ffffff;font-size:12px;line-height:14pt;}
.p9{color:ffffff;font-size:14.8px;line-height:14pt;}
.p10{color:275A8B;font-size:12px;}
.p11{font-size:12px;line-height:14pt;}
.word{line-height:130%}
.headtable{font-size:12px}
.dot2{color:CF00
*******长度:1452
==========================================================
==========================================================

GET /gzit/mail/cardbanner/card148x270.swf HTTP/1.1
Accept: */*
User-Agent: contype
Host: cimg.163.com


*******长度:108
==========================================================

@
*******长度:1452
==========================================================
鰠`l爉|遛 qiV?艨.嵹UKEjn俅襗贕縥秼z妕R蠸e
 
关注,呵呵,这算不算关税?
 
RFC标准组织的官方网站 http://www.w3.org/
 
这和tcpip有什么关系,使你没转换好!
注意string和string[10]在内存中的存储格式!!string是4位指针,string[10]真实长度是11,第一位是字符串的长度。
 
我也需要这个方面的资料!!




 
后退
顶部