2015-11-17 4 views
2

В настоящее время я расследую сбой при распаковке файла, предположительно хранящегося через NSKeyedArchiver. Журнал сбоев содержит первые 8-байтовые квартеты файла (я включил только первые 2 ниже).Какую кодировку или формат файла использует NSKeyedArchiver?

Fatal Exception: NSInvalidArgumentException 
*** -[NSKeyedUnarchiver initForReadingWithData:]: incomprehensible archive (0xffffffa6, 0xffffff9e, ...) 

Я не смог расшифровать эти байты во что-нибудь полезным, используя ASCII, Base64, UTF8 или utf16. Кто-нибудь знает, какой формат файла и/или кодировка символов использует NSKeyedArchiver или как я могу декодировать эти байты для чего-то читаемого человеком?

+0

Возможно, факт, что вы не можете декодировать его во что-либо разумное, является именно тем, что он поврежден. – Avi

+0

@Avi Да, это может быть правильно. Странно, что единственный способ записи файла - «NSKeyedArchiver» - по крайней мере, насколько я вижу. Следовательно, я надеялся, что есть способ вручную декодировать архив во что-то читаемое человеком. – hennes

+0

Это может быть двойной диск. – Avi

ответ

2

Ключ-архивы хранятся в виде двоичных пластин. Вы можете использовать служебную программу командной строки plutil для печати, проверки или управления содержимым.

+0

Спасибо. К сожалению, команда 'plutil', похоже, не может генерировать удобочитаемый формат с самого начала файла. У меня есть только первые несколько байтов, так как журнал сбоев из Fabric. – hennes

+0

Это действительно говорит о том, что это просто коррумпирован, следовательно, авария. Странная ситуация, если быть уверенным. – Avi

+0

Я дам вам принятый ответ, так как я попросил формат файла. Жаль, что 'plutil' мне не помогает в этом случае. Спасибо, в любом случае. – hennes

Смежные вопросы