HEX--->ASCII

0

Trzybobry!

Jak w temacie. Jaka funkcja jest odpowiedzialna za zamiane wartosci w HEX na kod ASCII (odwrotnie do Ord, a potem IntToHex? Pisze sobie (moze niedlugo udostepnie :-) ) programik do szyfrowania tekstu i plikow tekstowych. Na razie na warsztat poszlo ROT13 (male to, ale fajne). Zamieniam na HEX i jest ok, ale jak HEX-->ASCII??

Z gory Wam dziekuje!

<font color="red">DOPISANE</span>

Po czesci mi chodzilo o Chr, ale ona obsluzy tylko liczby w systemi dziesietnym. Moje pytanie zatem jest takie: jak skonwertowac HEXa na DEC??

0

Moje pytanie zatem jest takie: jak skonwertowac HEXa na DEC??

Możesz użyć funkcji:

function hex2dec(hex:string):integer;
var
a,i,mnoznik:integer;
begin
mnoznik:=1;
for i:=length(hex) downto 1 do
begin
if ord(hex[i])>=65 then a:=55 else a:=48;
result:=result+(ord(hex[i])-a)mnoznik;
mnoznik:=mnoznik
16;
end;
end;

Działa to tylko dla wielkich liter A..F i przed wywołaniem funkcji musisz sprawdzić, czy parametr wywołania nie zawiera jakichś innych znaków.

0

Działa to tylko dla wielkich liter A..F

no to co za problem : upperCase(ord(hex[i]));

0

Umieściłem na forum kawał mojego kodu. wpisz w wyszukiwarce hexate i ci znajdzie ps. tylko sie nie śmiać, stary kod, jakby za trudny do skapowania to na gg.

0

Z tego co wiem to nie musisz konwertowac HEX->ASCII aby zastosowac ROT13. po prostu zczytujesz wartosc litery przez Ord, gdy juz obliczysz nowa wartosc znaku to robisz Chr i zapisujesz.
poza tym mam nadzieje ze w twoim programie bedzie jeszcze jakis inny szyfr niz ROT13, bo ROT13 jest trohe ... hmmm ... "przeterminowany" :d

[cya]

0

Trzybobry!

Bedzie pare innych "bajerow", ale to na poczatek, bo "mile, latwe i przyjemne". Potrzebowalem na razie samego szkieletu aplikacji, wiec na "pierwszy ogien" poszlo ROT13.

Do ROT13 nie jest potrzebne HEX-->ASCII. Troche do czego innego potrzebowalem.

Pozdrawiam [cya]!!

1 użytkowników online, w tym zalogowanych: 0, gości: 1