Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Основной форум

Основной форум Сюда все проблемы связанные с программированием.

Ответ
 
Опции темы
Старый 20.04.2007, 22:20   #1
om2804
AnyKey`щик
 
Регистрация: 16.04.2007
Сообщений: 19
Написано 0 полезных сообщений
(для 0 пользователей)
Как перевести строку в hex ?

Нужно файл файл представить в виде hex (как в hex-редакторе). Возникают проблемы если hex-код символа в файле болше 7F(127). Как правильно перевести символ в hex?

Этот код работает не корректно, если символ hex-код символа в str болше 7F(127)

num:=ord(getChar(str, i));

i-порядковый номер символа
str - строка, которую нужно преобразовать
num- преобразованный символ (в десятичной системе счисления)
(Offline)
 
Ответить с цитированием
Старый 21.04.2007, 16:41   #2
Kurdt
ПроЭктировщик
 
Регистрация: 28.03.2007
Сообщений: 194
Написано 7 полезных сообщений
(для 25 пользователей)
Можно сделать функцию с банальным сравнением А='lala'...'я'='lala'

вот тибе пример как переводить текст в шеснадцатиричный вид

function celoe(ch,n:integer):integer;
Var i:integer;
Begin
while ch>=n do ch:=ch-n;
celoe:=ch
end;

function integertohex(ii:integer):string;
const
Val = 16;
var
HexValue : string;
Remainder : Integer;
begin
HexValue := '';
while ii > 0 do
begin
Remainder := celoe(ii,val);
If Remainder = 10 then HexValue := 'A' + HexValue else
If Remainder = 11 then HexValue := 'B' + HexValue else
If Remainder = 12 then HexValue := 'B' + HexValue else
If Remainder = 13 then HexValue := 'D' + HexValue else
If Remainder = 14 then HexValue := 'E' + HexValue else
If Remainder = 15 then HexValue := 'F' + HexValue
else
HexValue := IntegerToString( Remainder ) + HexValue;

ii := Trunc(ii/val);
end;
while length(HexValue)< Trunc(Val/4) do HexValue:='0'+HexValue;
integertohex:=HexValue;
end;

function text2hex(s:string):string;
Var i:integer;
res:string;
Begin
for i:=1 to length(s) do res:=res+integertohex(ord(getchar(s,i-1)));
text2hex:=res;
End;
(Offline)
 
Ответить с цитированием
Старый 21.04.2007, 21:47   #3
om2804
AnyKey`щик
 
Регистрация: 16.04.2007
Сообщений: 19
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Как перевести строку в hex ?

Я так понимаю нужно вызывать function text2hex(s:string):string;
Где s - исходная текстовая строка.А Функция возвращает hex - код.
(Offline)
 
Ответить с цитированием
Старый 04.06.2011, 18:49   #4
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Как перевести строку в hex ?

If Remainder = 10 then HexValue := 'A' + HexValue else
 If Remainder = 11 then HexValue := 'B' + HexValue else
 If Remainder = 12 then HexValue := 'B' + HexValue else
 If Remainder = 13 then HexValue := 'D' + HexValue else
 If Remainder = 14 then HexValue := 'E' + HexValue else
 If Remainder = 15 then HexValue := 'F' + HexValue
Этот код ужасен.
Его заменяет конструкция типа
HexValue :=chr(55+Remainder)+HexValue
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
КАК перевести 1251 в нормальную кодировку K750i german1010 Основной форум 3 10.10.2009 13:57
jsr75i -как сохранить строку в файл ? gost6681 Библиотеки 2 05.08.2009 18:55
Как в форме вывести строку с жирным стилем Kurdt JAVA Micro Edition 2 25.06.2007 20:55


Часовой пояс GMT +4, время: 15:58.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com