F
flanker
Unregistered / Unconfirmed
GUEST, unregistred user!
从一个定长128位的pchar(array[0..128] of byte类型的变量tt 将其通过如下变换:
for i := 0 to 127 do
outstr1 := outstr1 + inttohex(ord(tt),2);
变成一个256位长的16进制串,可是现在想把这个16进制串还原成定长128位的pchar(类型同tt),却无法实现,我是这样转换的:
var
Text, Buffer: PChar
//Buffer为得到的结果pchar
Bufsize : Integer;
--------------------
Text := pchar(Trim(Memo2.Text)); //Memo2.text为256位长的16进制串
BufSize := Length(Text) DIV 2;
HexToBin(Text, Buffer, BufSize);
很奇怪,得到的Buffer的Length居然不是128位的,结果转换出来就是和tt不一样!!!
这个问题我研究了2天就是无法搞定,请指教!!!!
for i := 0 to 127 do
outstr1 := outstr1 + inttohex(ord(tt),2);
变成一个256位长的16进制串,可是现在想把这个16进制串还原成定长128位的pchar(类型同tt),却无法实现,我是这样转换的:
var
Text, Buffer: PChar
//Buffer为得到的结果pchar
Bufsize : Integer;
--------------------
Text := pchar(Trim(Memo2.Text)); //Memo2.text为256位长的16进制串
BufSize := Length(Text) DIV 2;
HexToBin(Text, Buffer, BufSize);
很奇怪,得到的Buffer的Length居然不是128位的,结果转换出来就是和tt不一样!!!
这个问题我研究了2天就是无法搞定,请指教!!!!