Heute habe ich ein bisschen in Angleslayers Rumpelkiste gestöbert, da bin ich auf folgenden Eintrag gestoßen. Da hat mich die Neugier gepackt, und ich wollte wissen, was dort codiert ist. Leider war der Code, den Angleslayer im nachfolgenden Post verfasst hat, für mich unslesbar. Scheint sich wohl um die Skriptsprache eines exotischen Betriebssystems zu handeln ;).

Habe dann mal das Problem, einer ASCII-kodierten Textdatei voller 0..F zu lesbarem Text umwandeln, in Pascal gelöst:

Geht sicher auch kürzer und weniger kompliziert, aber soll für diese Zwecke reichen.

Ich weiß jetzt über die größte Hollywoodlüge Bescheid, danke Angleslayer.

program HextToASCII (input,output);
{reads PSEUDO-HEX from STDIN}
	var
	inHex : text;

	procedure convert (var inFile : text);
	{converts an ASCII-formatted File with a bunch of Hex-digits to readable text}
	
		type
		tIndex = 0..maxint;
		tcurrentDec = array [tIndex] of integer;
		
		var
		i : integer;
		currentDec : tcurrentDec;
		aktChar : char;

		function toDec ( inChar : char ) : integer;
		{ got a Hex-char and gives a Dec integer }

			const
			HEXVAL='0123456789ABCDEF';

		begin
		   toDec := pos(upcase(inChar),HEXVAL) -1 ;
		end;

	begin
		i := 1;
		while (not eof(inFile)) and (i < maxint) do
		begin

			read(inFile,aktChar);

			if (aktChar = char(10)) and odd(i) then
			begin
				{if you want a LineFeed(unix only)}
				{write(char(10));}
				i := i - 1;
			end
			else
			begin
				currentDec[i] := toDec(aktChar);
					if not odd(i) then
						write(char((currentDec[i-1] * 16 ) + currentDec[i]))
			end;
		i := i + 1;
	   end 
	end;
			
begin
	Assign(inHex,'');
	Reset(inHex);
	convert(inHex);
	writeln();
end.

Next post: GRUB2: “Error: fd0 read error”

Previous post: Island - rund um die Ringstraße - 2010