В моем понимании магическое число - это первая пара байтов в файле. Также, на мой взгляд, это очень свободный термин.
Таким образом, предполагая, что магическое число является первыми байтами в файле, вы можете открыть поток байтов и проверить прочитанные байты. Я думаю, что это единственный надежный способ (но также очень подвержен ошибкам и может вызвать проблемы с безопасностью, подумайте о проблемах с перехватом контента в IE) Инструмент UNIX file
фактически делает это, и все же, он называется guesser типа файла.
Фактическое число зависит от формата файла, который вы пытаетесь использовать. Если вам повезет, это задокументировано. Если нет, это может стать болезненным.