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

Вниз

HexToBinary To Integer - проблема с преобразованием   Найти похожие ветки 

 
koha!   (2008-12-19 17:40) [0]

Парюсь по извлечению из hex-кодировки числа через бинарные данные


var
  temp,: string;
  I: integer;
  buf: array of char;

begin

//первый способ:
 temp:="000000ff";
 b := 0;
 setlength(buf,length(temp) div 2);
 HexToBin(PChar(temp),Pointer(buf), length(temp) div 2);
 mm.Lines.Add("Buf = "+IntToStr(integer(buf)));

//второй способ:
 HexToBin(PChar(temp),Pointer(@I), length(temp) div 2);
 mm.Lines.Add("Buf = "+IntToStr(I);


В любом случае не правильно возвращает значение
как в этом случае правильно преобразовать бинарные данные в число I: integer; Чего я не допонимаю?


 
Медвежонок Пятачок ©   (2008-12-19 17:59) [1]

Caption := IntToStr(StrToInt("$FFFFFFFF"));


 
koha!   (2008-12-19 18:03) [2]


> Медвежонок Пятачок ©   (19.12.08 17:59) [1]


про это я знал, но мне нужно в том способе разобраться - это принципиально.


 
Медвежонок Пятачок ©   (2008-12-19 18:13) [3]

и что? отладчик украли ?


 
koha!   (2008-12-19 18:42) [4]


> Медвежонок Пятачок ©   (19.12.08 18:13) [3]
> и что? отладчик украли ?


Да украли..., угу, и с пециально сигналы из космоса послали, что бы я сюда пошел и спросил...

И что в отладике я должен увидеть был? он там байты возвращает в таком прорядке, например число 7 hex: 00000007 = [0][0][0][7]
но при приведении типа Iinteger([0][0][0][7]) <> 7 вот и вопрос почему в каком порядке байты должны быть?


 
koha!   (2008-12-19 18:46) [5]

возможно смещения нехватает какого-то?


 
Медвежонок Пятачок ©   (2008-12-19 18:50) [6]

а может порядок байт интегера не такой как ты ожидаешь?


 
koha!   (2008-12-19 18:53) [7]


> Медвежонок Пятачок ©   (19.12.08 18:50) [6]
> а может порядок байт интегера не такой как ты ожидаешь?


- а какой?


 
Медвежонок Пятачок ©   (2008-12-19 18:57) [8]

var v,i : integer; pb : pByte; cStrInt,cStr : string;
begin
v := 7;
cStrInt := IntToHex(v,8);
pb := @v; cStr := "";
for i := 1 to 4 do
 begin
  cStr := cStr + IntToHex(pb^,2);
  Inc(pb);
 end;
ShowMessage(cStrInt + #13#10 + cStr);
end;


 
koha!   (2008-12-19 19:14) [9]


> Медвежонок Пятачок ©   (19.12.08 18:57) [8]


впоне доходчиво, сенкс..



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

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

Наверх




Память: 0.48 MB
Время: 0.009 c
1-1207674401
Ampleyev
2008-04-08 21:06
2009.02.01
Помогите со стегоалгоритмом


2-1229425819
Artem
2008-12-16 14:10
2009.02.01
Объектные переменные


2-1229664044
nomad000
2008-12-19 08:20
2009.02.01
Компонент TMenu


2-1229403281
Съедобный
2008-12-16 07:54
2009.02.01
добавление записи в БД


6-1197880578
brother
2007-12-17 11:36
2009.02.01
TIdPOP3 просмотр содержимого в разных кодировках...