Есть ли способ отличить тип файла macintosh или macOS в Windows C #? - PullRequest
0 голосов
/ 31 октября 2019

Мой проект C # должен определить, является ли файл для чтения файлом Mac, работающим на macOS.

Существует проект C #, работающий в Windows 2008 или более поздней версии. Я хотел бы знать, является ли файл для чтения файлом Mac, работающим в операционной системе Mac.

Я хочу знать, возможен ли такой код

    string fileType = fileTypeChecker(anonymousFile);
    if(fileType=="mac")
    {
        // do something.
    }

Можно ли их различитьпо расширениям файлов? или любой тип подписи файла?

Ответы [ 3 ]

1 голос
/ 02 ноября 2019

MacOS использует двоичный исполняемый формат Mach-O.

Вам необходимо найти сигнатуры двоичного файла Mach-O, как описано здесь: Как прочитать заголовок Mach-O из объектного файла

0 голосов
/ 09 ноября 2019

https://github.com/konrad-kruczynski/elfsharp является открытым исходным кодом, который я хотел бы использовать для достижения этой цели. Как вы думаете, использование приведенного ниже фрагмента кода поможет мне справиться с этой задачей? Я думаю, что это вполне осуществимо.

public void ShouldOpenMachO()

    {

        var fileName = Utilities.GetBinary("simple-mach-o");

        ELFSharp.MachO.MachO machO;

        Assert.AreEqual(MachOResult.OK, MachOReader.TryLoad(fileName, out machO));

    }
0 голосов
/ 31 октября 2019

Насколько я понимаю после прочтения вашего вопроса, вы хотите проверить файл для Mac или Windows. Вы можете сделать это следующим образом:

string fileName = "hamza.DMG";
string mimeType = System.Web.MimeMapping.GetMimeMapping(fileName);

он вернет отображение MIME для указанного имени файла, и вы можете легко различить на основе этих сопоставлений. Для получения дополнительной информации вы можете проверить это Ссылка .

Примечание. Для .NET Framework> = 4,5

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...