Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.04.01;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.035 c
15-1173445639
oldman
2007-03-09 16:07
2007.04.01
Как хорошая идея становиться кривой...


2-1173264291
Nipel
2007-03-07 13:44
2007.04.01
позиция мыши в memo


2-1173422964
Spnal
2007-03-09 09:49
2007.04.01
Мишина Поста ... plz


1-1170663053
Нож
2007-02-05 11:10
2007.04.01
Получить список шар на компе в ЛВС


15-1173079597
EvChul
2007-03-05 10:26
2007.04.01
Исходники к книге Р. Конопки.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский