Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.01;
Скачать: CL | DM;

Вниз

массив байт в строку   Найти похожие ветки 

 
olmi ©   (2007-03-06 14:01) [0]

перерыл весь форум не нашёл... сорри если уже обсуждалось.
читаю файл блоками по 32 байта в массив... каким образом можно вывести этот массив в строку ?
те. допустим есть прочитанный из файла в массив (pack: Array of Byte) блок байт:
A5 4E 10 00 00 00 08 32  00 85 48 48 78 3F FF FF
FF FF FF FF AC FF 02 00  00 FA 01 00 82 B5 E7 45
необходмо преобразовать в строку типа:
s="A54E10000000083200854848783FFFFFFFFFFFFFACFF020000FA010082B5E745"


 
Плохиш ©   (2007-03-06 14:06) [1]

IntToHex для каждого байта


 
Ega23 ©   (2007-03-06 14:08) [2]


function StreamToMSSQLStr(aStream:TStream):String;
var
i:Integer;
bb:array[0..1] of byte;
begin
Result:="NULL";
if (not Assigned(aStream)) or (aStream.Size=0) then Exit;
aStream.Position:=0;
Result:="0x";
for i:=0 to aStream.Size-1 do
 begin
  aStream.Read(bb,1);
  Result:=Result+Dec2Hex(bb[0],2);
 end;
end;

function Dec2Hex(N: LongInt; A: Byte): string;
begin
 Result := IntToHex(N, A);
end;

function IntToHex(Value: Integer; Digits: Integer): string;
//  FmtStr(Result, "%.*x", [Digits, Value]);
asm
       CMP     EDX, 32        // Digits < buffer length?
       JBE     @A1
       XOR     EDX, EDX
@A1:    PUSH    ESI
       MOV     ESI, ESP
       SUB     ESP, 32
       PUSH    ECX            // result ptr
       MOV     ECX, 16        // base 16     EDX = Digits = field width
       CALL    CvtInt
       MOV     EDX, ESI
       POP     EAX            // result ptr
       CALL    System.@LStrFromPCharLen
       ADD     ESP, 32
       POP     ESI
end;


 
olmi ©   (2007-03-06 14:22) [3]

О! Благодарю...:) IntToHex !!! у меня уже неверное ум за разум зашёл.



Страницы: 1 вся ветка

Текущий архив: 2007.04.01;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.061 c
15-1173086533
MsGuns
2007-03-05 12:22
2007.04.01
Украинский футбол глазами европейцев


15-1173095251
Calibr
2007-03-05 14:47
2007.04.01
Frame на веб-странице


8-1154428046
AbrosimovA
2006-08-01 14:27
2007.04.01
Как реализовать сохранение кадров DVD-фильма в bmp-файл


1-1170769652
Lagrima
2007-02-06 16:47
2007.04.01
Запуск сервиса на Windows Server 2003


9-1146417326
KiberKot
2006-04-30 21:15
2007.04.01
MyGames