首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

关于 DecompressBuf的施用

2013-04-07 
关于 DecompressBuf的使用看代码如下:vars: Pointerpd: PWORDsize, leng, i: Integerstr,file1: string

关于 DecompressBuf的使用
看代码如下:
var
  s: Pointer;
  pd: PWORD;
  size, leng, i: Integer;
  str,file1: string;  
begin
...
 DecompressBuf(s, Size, 0, Pointer(pd), leng);

 str:=string(pd);
//执行这句话,str的结束如下:
//#8#8#$A#8#9#8#6#8#2#8#6#8#2#8#6#8#6#8#5#8#5#8#5#8#5#8#4#8#0#8#7#8#9#8#9#8#5#8#6#8#1#8#4#8#3#8#//6#8#5#8#6#8#5#8#5#8#5#8#4#8#5#8#5#8#4#8#6#8#6#8#$A#8#7#8#7#8#8#8#6#8#6#8#6#8#3#8#1#8#1#8#3#8#3//#8#2#8#3#8#6#8#7#8#9#8#7#8#8#8#8#8#$A#8#9#8#8#8#5#8'??'#5#8#4#8#5#8#5#8#9#8#7#8#4#8#0#8#3#8#6#//8#2#8#5#8#9#8#7#8#

  //执行以下就会得到2056,2058,......
  for i:=0 to leng div 2  do begin
    str := str + IntToStr(pd^) +',';
    inc(pd);
  end;

end;

问题: 2056,2058,...... 这些数据是哪来的呢..
本人对Delphi不熟, 请大师指点.  
本人用的是.Net的, 在.Net方式可以获取到
//#8#8#$A#8#9#8#6#8#2#8#6#8#2#8#6#8#6#8#5#8#5#8#5#8#5#8#4#8#0#8#7#8#9#8#9#8#5#8#6#8#1#8#4#8#3#8#//6#8#5#8#6#8#5#8#5#8#5#8#4#8#5#8#5#8#4#8#6#8#6#8#$A#8#7#8#7#8#8#8#6#8#6#8#6#8#3#8#1#8#1#8#3#8#3//#8#2#8#3#8#6#8#7#8#9#8#7#8#8#8#8#8#$A#8#9#8#8#8#5#8'??'#5#8#4#8#5#8#5#8#9#8#7#8#4#8#0#8#3#8#6#//8#2#8#5#8#9#8#7#8#

现在要怎么把这些数据转成2056,2058,...... 呢...
DecompressBuf
[解决办法]
PWORD意思是按照16位(2字节)无符号数来取,
#8#8  即 16进制的0808 inttostr后,得到2056
#$A#8 即 16进制的0A08 inttostr后,得到2058

至于.net怎么取就不知道了

热点排行