Los valores binarios no se pueden entender a simple vista, no se pueden pasar a caracteres porque no lo son, a no ser que te refieras a pasarlos a caracteres hexadecimales. En ese caso aquí tienes esta función que ya publiqué como parte del código de una unit para
escanear y buscar en todo el registro de Windows con la API:
Código Delphi
[-]
function BinToStr(Bin: PBYTE; BinSize: DWORD; Str: PCHAR; var StrSize: DWORD): boolean;
var
i: DWORD;
begin
if Str <> nil then
begin
if StrSize >= 2*BinSize + 4 then
begin
for i:=0 to BinSize-1 do
begin
Str^:= CHAR(($0F and (Bin^ shr 4)) + 48);
(Str+1)^:= CHAR(($0F and Bin^) + 48);
if Str^ > '9' then inc(Str^, 7);
if (Str+1)^ > '9' then inc((Str+1)^, 7);
inc(Bin); inc(Str, 2);
end;
Str^:= #10; inc(Str);
Str^:= #13; inc(Str);
Str^:= #0;
Result:= true;
end
else Result:= false;
end
else
begin
StrSize:= 2*BinSize + 4; Result:= true;
end;
end;
Esta función realiza la conversión o te devuelve la cantidad de memoria a reservar para el buffer (Str)
Saludos.