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

Вниз

Преобразование в HEX   Найти похожие ветки 

 
dabreezy   (2006-02-20 10:23) [0]

Добрый день.
А есть ли функция для того, чтобы преобразовать строку в Hex?
Например вот так: мебель --> %EC%E5%E1%E5%EB%FC
Вернее можно получить десятичные числа, а потом преобразовать их в шеснадцатиричные.
В делфи есть ф-ция:
rocedure BinToHex(Buffer, Text: PChar; BufSize: Integer);
А как ей пользоваться? Чего-то не получается.
Заранее спасибо.


 
tesseract ©   (2006-02-20 10:34) [1]

не моё автор - Azret Botash Project JEDI.

function StrToHex(const Source: AnsiString): AnsiString;
var
 P: PChar;
 C, L, N: Integer;
 BL, BH: Byte;
 S: AnsiString;
begin
 Result := "";
 if Source <> "" then
 begin
   S := Source;
   L := Length(S);
   if Odd(L) then
   begin
     S := "0" + S;
     Inc(L);
   end;
   P := PChar(S);
   SetLength(Result, L div 2);
   C := 1;
   N := 1;
   while C <= L do
   begin
     BH := CharHex(P^);
     Inc(P);
     BL := CharHex(P^);
     Inc(P);
     Inc(C, 2);
     if (BH = $FF) or (BL = $FF) then
     begin
       Result := "";
       Exit;
     end;
     Byte(Result[N]) := Byte((BH shl 4) + BL);
     Inc(N);
   end;
 end;
end;


 
begin...end ©   (2006-02-20 10:39) [2]

> dabreezy   (20.02.06 10:23)

> В делфи есть ф-ция:
> rocedure BinToHex(Buffer, Text: PChar; BufSize: Integer);
> А как ей пользоваться? Чего-то не получается.

var
 S, Hex: string;
begin
 S := "мебель";
 SetLength(Hex, Length(S) * 2);
 BinToHex(PChar(S), PChar(Hex), Length(S));
 ShowMessage(Hex)
end


 
dabreezy   (2006-02-20 10:42) [3]

Спасибо всем!



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

Форум: "Начинающим";
Текущий архив: 2006.03.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.012 c
2-1140047978
Оптим
2006-02-16 02:59
2006.03.05
Как сделать case для строк в 4 символа?


15-1139385308
Mozart
2006-02-08 10:55
2006.03.05
что такое ИМХО!!!


2-1139733653
Galiaf
2006-02-12 11:40
2006.03.05
Как грамотно округлить вещественное число до, например, тысячной?


1-1138870523
sally
2006-02-02 11:55
2006.03.05
Перемещение каталогов


10-1114329246
w_h_i_t_e
2005-04-24 11:54
2006.03.05
Сервер и клиент, передача файла.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский