Что-то увлёкся я этим awk: занятная штука. Вот ещё лучший вариант bin2c: bin2c.bat:
@echo off
setlocal
rem Find a separator that is not present in the binary file
:loop
set sep=A%sep%%RANDOM%
grep -q %sep% %1
if %ERRORLEVEL% EQU 0 goto loop
rem Run the script
gawk -v separator=%sep% -v BINMODE=3 -v varname=%3 -f bin2c.awk < %1 > %2
bin2c.awk:
BEGIN {
FS = ""
RS = separator
for (i = 0; i < 256; i++)
{
TAB256 = TAB256 sprintf("%c", i)
}
printf ("static const uint8_t %s[] = {", varname)
}
{
for (i = 1; $i != ""; i++)
{
if (i % 12 == 1)
{
print ""
printf " "
}
printf (" 0x%02X,", index(TAB256, $i) - 1)
}
}
END {
print ""
print "};"
}