Here's how you would do it in PHP :
In Windows, just download php in a folder, for example C:\Programs\PHP and then open a command prompt in the same folder with your php script and text file and say
c:\programs\php\php.exe script.php
Change file name in the script if you want. Script just dumps each number on one line. You can say php.exe script.php >output.txt to redirect console output to a text file.
You can modify the script so that instead of a new line, the script prints a "," or tab ("\t") or whatever character you want.
<?php
$ENTER = "\x0D\x0A"; // Windows uses CRLF , Linux and only one character... change this as needed
// determine the path from where the script runs , and change all \ slashes to / slashes - Windows can work with either.
$folderRoot = str_replace('\\','/',dirname(__FILE__));
if (substr($folderRoot,strlen($folderRoot)-1,1)!=='/') $folderRoot .='/';
// change the file name here or replace with $argv[1] to read the file name from command line ex php.exe script.php filename.txt -> $argv[1]=filename.txt
// though it will only work if files have no spaces in their names
$content = file_get_contents($folderRoot.'20190328142916.txt');
$lines = explode($ENTER,$content);
$v = array();
$vindex = 0;
foreach ($lines as $line) {
if (isHexLine($line)==TRUE) {
$values = explode(' ',$line);
foreach ($values as $value) {
if ((ctype_xdigit($value)==TRUE) && (strlen($value)==2)) { // hexadecimal , one byte
$nr = hexdec($value);
$v[$vindex] = $nr;
$vindex++;
if ($vindex==4) { // read 4 bytes
// comment next line if you don't want the first byte to be reset
$v[0] = 0;
$nr = ($v[0]<<24) + ($v[1]<<16) +($v[2]<<8) + $v[3];
echo $nr.$ENTER;
$v[0] = 0; $v[1]=0;$v[2]=0;$v[3]=0;
$vindex=0;
}
}
}
}
}
// function checks if the line of text is composed of only hexadecimal characters or space
function isHexLine($text) {
if (strlen($text)==0) return FALSE;
for ($i=0;$i<strlen($text);$i++) {
$c = substr($text,$i,1);
if (($c==' ') || (ctype_xdigit($c)==TRUE)) {
// it's space or hexadecimal char, so continue
} else {
return FALSE; // bad char, don't process this line
}
}
return TRUE;
}
?>