求救,十六进制转换的问题!~急死了
请问DELPHI里怎么才能把字符串“好啊”这2个字转换为“BA C3 B0 A1”
各位大哥大姐帮帮我吧,我找了几小时都没找到
[解决办法]
将任何指定长度的内存值转换为十六进制字符串
function PointerToHexStr(Value:Pointer;Len:integer;IsCompart:Boolean):String;
var
i,L:Integer;
Str:String;
b:PByte;
begin
L:=Len-1;
b:=Value ;
for i:=0 to L do
begin
if IsCompart then
Str:=Str+IntToHex(b^,2)+ ' '
else
Str:=Str+IntToHex(b^,2);
b:=Pointer(integer(b)+1);
end;
Result:=Str;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Str:String;
L:Integer;
begin
Str:= '你好 ';
L:=Length(Str);
edit1.text:=PointerToHexStr(PChar(Str),L,True);
end;