Confusão para arquivos mime: magic, magic.mgc, magic.mime

1

Estou usando o Ubuntu. Estou tentando usar o ruby gem 'shared-mime-info' para um aplicativo que estou escrevendo.

Eu entendo que magic.mgc é uma versão compilada do arquivo magic que possui definições de números mágicos para os diferentes tipos de arquivos.

MAS eu não entendo porque é que / usr / share / mime / magic está em formato binário ao invés de apenas um arquivo de texto normal com cada parâmetro separado por espaços em branco como em qualquer outro lugar que eu esteja encontrando na internet quando estiver fazendo referência este arquivo?

O / usr / share / mime / magic tem a palavra 'MIME-Magic' no começo do arquivo e prioriza o resto das coisas como. Por isso, não parece mágica.multi.

[100:application/vnd.scribus]
>1=^@^KSCRIBUSUTF8
[90:application/vnd.stardivision.writer]
>2089=^@

shared-mime-info parece querer um arquivo mágico no formato binário não compilado como acima e eu queria adicionar definição para o DOCX, mas como atualizar ou gerar este arquivo sem usar um editor hexadecimal?

Existe uma referência ao arquivo mágico que encontrei em: link

E ele mencionou que este arquivo foi atualizado com o update-mime-database, mas e se eu quiser adicionar apenas uma nova entrada a ele? editor hexadecimal?

De qualquer forma eu acabei usando o hexer para fazer um novo arquivo mágico em ~ / .local / share / mime / com apenas a entrada que eu queria adicionar e o cabeçalho MIME-Magic. Parece funcionar (supondo que eu já lidarei com docx por enquanto).

00000000:  4d 49 4d 45 2d 4d 61 67  69 63 00 0a 5b 36 30 3a  MIME-Magic..[60:
00000010:  61 70 70 6c 69 63 61 74  69 6f 6e 2f 76 6e 64 2e  application/vnd.
00000020:  6f 70 65 6e 78 6d 6c 66  6f 72 6d 61 74 73 2d 6f  openxmlformats-o
00000030:  66 66 69 63 65 64 6f 63  75 6d 65 6e 74 2e 77 6f  fficedocument.wo
00000040:  72 64 70 72 6f 63 65 73  73 69 6e 67 6d 6c 2e 64  rdprocessingml.d
00000050:  6f 63 75 6d 65 6e 74 5d  0a 3e 30 3d 00 08 50 4b  ocument].>0=..PK
00000060:  03 04 14 00 06 00 0a --  -- -- -- -- -- -- -- --  .......---------
    
por Florence Foo 21.08.2014 / 03:44

0 respostas