Какова цель N-байтового "магического" числа?
При разборе ромов NES первые четыре байта являются "магическим" числом:
78/0x4E (N)
69/0x45 (E)
83/0x53 (S)
26/0x1A (DOS end of file character)
Какую цель преследует этот или любые другие примеры?
1 ответ
Так называемые "магические числа" часто указываются в двоичных форматах файлов как своего рода "подпись" формата файла. Программы, которые читают формат файла, могут проверить магическое число и отклонить файл как недействительный, если он не совпадает. Это обеспечивает простой способ раннего обнаружения мусорных данных. Это также позволяет программам, которые понимают несколько форматов, выяснить, какой тип файла они читают, чтобы его можно было обработать соответствующим образом.
В случае с образами ПЗУ в формате iNES это не исключение. Назначение магического числа в заголовке - сообщить эмулятору (или другой программе), что это изображение в формате iNES и что оно должно быть проанализировано как таковое.