关于 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怎么取就不知道了