Base 16 kódolás-dekódolást Pascal nyelven lehet találni?
Amit nekem sikerült találni, azt nem tudtam működésre bírni, sajnos. :-(
Ha valakinek van működő megoldása (bármilyen bináris fájlt elkódol base16 formába és vissza) az érdekelne.
Próbáltam megírni a string unit-ban lévő függvényekkel, csak sajnos nem sikerült.
Megtaláltam ezt is, sajnos nem tudtam rávenni hogy FPC alattt forduljon :-( Nem tudtam átírni a metódusokat (illetve nem igazán). :-(
Ill a {$MODE Delphi} direktíva alkalmazása után azért jobban látszott elfogadni a kódot de sajnos nem tudtam működésre bírni :-(
Szia! A base16 ha jól értelmeztem a leírásokat, az szimplán a karakterek számkódjainak (ord()) kiíratása hexadecimálisan. Tehát tulajdonképpen decimálisból 16-osba és vissza kell alakítani. A kódolás:
program HelloWorld;
function char_to_hex(c:char):string;
var szamjegyek: array[0..15] of char = ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F');
begin
char_to_hex := szamjegyek[ord(c) div 16] + szamjegyek[ord(c) mod 16];
end;
function string_to_hex(input: string):string;
var i:integer;
begin
string_to_hex := '';
for i := 1 to length(input) do string_to_hex := string_to_hex + char_to_hex(input[i]);
end;
begin
writeln(char_to_hex(chr(0)));
writeln(char_to_hex(chr(255)));
writeln(char_to_hex('A'));
writeln(char_to_hex('Z'));
writeln(string_to_hex('Hello world!'));
end.
A dekódolás meghagyom neked.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!