簡體   English   中英

mac和linux中mime插件文件的位置在哪里?

[英]Where is the location of the mime plugin files in mac and linux?

我只是好奇如何通過本地應用程序(包括瀏覽器)讀取/解釋mime類型。 用於讀取mime類型的插件是否構建到每個應用程序中,或者在解釋mime類型時應用程序引用的操作系統中是否有特殊的系統文件夾?

在定義MIME類型時, RFC使用字符圖作為引用:

(1)US-ASCII以外的字符集中的文本消息體

雖然MDN聽起來像是使用了像HTML這樣的content-type

content-type=image/jpegcontent-type=application/javascript使用UTF-8字符表來確定它們的字符集(字形),而其他東西做邏輯來確定那些字形字形應該被解釋成什么?

或者這是否意味着每個內容類型都有自己的特殊charchart(如utf-8 - > js-8 ????),它將字符的字形轉換和char字形的邏輯解釋轉換為二進制?

為什么它聽起來像charcharts和內容類型都意味着MIME? 包含內容類型圖表/解釋邏輯的Mac和Linux系統的文件夾路徑在哪里?

這些大多位於/ usr / share / mime和/ usr / share / mime-info,linux和mac(幾乎整個unix樹)都不遵循擴展,只是擴展的內容只是為了方便用戶。

注意:具體應用程序位於“/ usr / share / mimelnk”(感謝David C. Rankin)

(您也可以嘗試在終端中locate mime以獲取更多信息)

在macOS上,您可以使用file --mime "/path/to/filename"來報告file --mime "/path/to/filename"的mime類型。

file的手冊頁(見這里 )揭示了在mime類型查找之前發生的事情,引擎蓋下:

 file tests each argument in an attempt to classify it.  There are three
 sets of tests, performed in this order: filesystem tests, magic tests,
 and language tests.  The first test that succeeds causes the file type to
 be printed.

 The filesystem tests are based on examining the return from a stat(2)
 system call.  The program checks to see if the file is empty, or if it's
 some sort of special file.  Any known file types appropriate to the sys-
 tem you are running on (sockets, symbolic links, or named pipes (FIFOs)
 on those systems that implement them) are intuited if they are defined in
 the system header file <sys/stat.h>.

 The magic tests are used to check for files with data in particular fixed
 formats.  The canonical example of this is a binary executable (compiled
 program) a.out file, whose format is defined in <elf.h>, <a.out.h> and
 possibly <exec.h> in the standard include directory.  These files have a
 ``magic number'' stored in a particular place near the beginning of the
 file that tells the UNIX operating system that the file is a binary exe-
 cutable, and which of several types thereof.  The concept of a ``magic''
 has been applied by extension to data files.  Any file with some invari-
 ant identifier at a small fixed offset into the file can usually be
 described in this way.  The information identifying these files is read
 from the compiled magic file /usr/share/file/magic.mgc, or the files in
 the directory /usr/share/file/magic if the compiled file does not exist.

 If a file does not match any of the entries in the magic file, it is
 examined to see if it seems to be a text file.  ASCII, ISO-8859-x, non-
 ISO 8-bit extended-ASCII character sets (such as those used on Macintosh
 and IBM PC systems), UTF-8-encoded Unicode, UTF-16-encoded Unicode, and
 EBCDIC character sets can be distinguished by the different ranges and
 sequences of bytes that constitute printable text in each set.  If a file
 passes any of these tests, its character set is reported.  ASCII,
 ISO-8859-x, UTF-8, and extended-ASCII files are identified as ``text''
 because they will be mostly readable on nearly any terminal; UTF-16 and
 EBCDIC are only ``character data'' because, while they contain text, it
 is text that will require translation before it can be read.  In addi-
 tion, file will attempt to determine other characteristics of text-type
 files.  If the lines of a file are terminated by CR, CRLF, or NEL,
 instead of the Unix-standard LF, this will be reported.  Files that con-
 tain embedded escape sequences or overstriking will also be identified.

 Once file has determined the character set used in a text-type file, it
 will attempt to determine in what language the file is written.  The lan-
 guage tests look for particular strings (cf.  <names.h>) that can appear
 anywhere in the first few blocks of a file.  For example, the keyword .br
 indicates that the file is most likely a troff(1) input file, just as the
 keyword struct indicates a C program.  These tests are less reliable than
 the previous two groups, so they are performed last.  The language test
 routines also test for some miscellany (such as tar(1) archives).

 Any file that cannot be identified as having been written in any of the
 character sets listed above is simply said to be ``data''.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM