文 / 張容 李勇文
文件格式是一組語(yǔ)義和句法規(guī)則,用以控制抽象信息與數(shù)字形式表達(dá)間的映射,便于信息的存儲(chǔ)及最終的檢索和利用。依據(jù)定義,電子記錄非天生的人類可讀,某種形式的文件格式編碼信息只能經(jīng)由特定組合的軟硬件系統(tǒng)方能處理及提供理解。在信息技術(shù)飛速發(fā)展的今天,文件格式信息的可訪問(wèn)性顯得愈發(fā)重要。文件格式的結(jié)構(gòu)技術(shù)信息,以及支持它們的軟件產(chǎn)品,理所當(dāng)然地成為數(shù)字資源長(zhǎng)期保存的先決條件。
在日常學(xué)習(xí)、工作中需要保存的數(shù)據(jù)類型多種多樣,數(shù)據(jù)的格式各不相同,因此個(gè)人用戶或數(shù)字對(duì)象長(zhǎng)期保存機(jī)構(gòu)都可能遇到以下問(wèn)題:老版本的存檔文件,用現(xiàn)在的應(yīng)用程序無(wú)法正確打開(kāi);殺毒軟件可能將一些特殊格式文件視為病毒;有的應(yīng)用環(huán)境對(duì)文件名大小寫敏感;一些專用格式的文件再也找不到應(yīng)用程序打開(kāi)。為解決上述問(wèn)題,文件格式的互操作逐漸進(jìn)入了人們的視野。文件格式互操作主要指一種格式的文件要有兼容其它格式文件的能力,即可以無(wú)信息丟失地完成格式間的轉(zhuǎn)換。同時(shí),它要滿足一個(gè)軟件不需要任何其它應(yīng)用程序、插件、解碼器、專有附加條件等即能打開(kāi)一個(gè)相應(yīng)格式的文件。
基于目前的理論與實(shí)踐方法,文件格式互操作解決方案包括選用開(kāi)源代碼標(biāo)準(zhǔn)文件格式、文件格式登記、利用文件識(shí)別工具。這三種手段的配合使用,可在很大程度上解決文件格式的互操作問(wèn)題。
通常情況下,用戶通過(guò)文件的擴(kuò)展名來(lái)識(shí)別文件類型,并選用相應(yīng)的應(yīng)用程序?qū)ξ募?nèi)容進(jìn)行讀取。用戶從網(wǎng)絡(luò)搜索文件格式識(shí)別小程序來(lái)識(shí)別后綴名被更改或無(wú)后綴名的文件,或從網(wǎng)絡(luò)查找后綴名不熟悉文件的打開(kāi)程序。這就是簡(jiǎn)單意義上的文件格式識(shí)別。文件格式識(shí)別工具用于對(duì)文件格式信息的識(shí)別、表征和驗(yàn)證,提取技術(shù)信息和標(biāo)簽信息,并將識(shí)別出的格式信息導(dǎo)出至通用文件,為其它系統(tǒng)或工具復(fù)用。最典型的文件格式工具有DROID、JHOVE等。文件格式信息被識(shí)別為文件格式的遷移和轉(zhuǎn)換提供了基礎(chǔ),進(jìn)而可以實(shí)現(xiàn)文件格式的互操作。
文件格式登記廣泛應(yīng)用于數(shù)字資源長(zhǎng)期保存活動(dòng)中,以確保數(shù)字資源保存機(jī)構(gòu)能夠維護(hù)文件格式定義、格式屬性、軟件遷移路徑等信息。這些信息是長(zhǎng)期保存過(guò)程中需要保存的技術(shù)性元數(shù)據(jù)信息。文件格式登記系統(tǒng)能對(duì)數(shù)字文件格式的屬性進(jìn)行描述、標(biāo)識(shí)、記錄和保存,支持信息系統(tǒng)通過(guò)公開(kāi)和規(guī)范的機(jī)制去發(fā)現(xiàn)所需要的文件格式信息,進(jìn)而識(shí)別、解析、轉(zhuǎn)換、表現(xiàn)和保存相應(yīng)文件[1]。目前,諸多數(shù)字對(duì)象保存項(xiàng)目建立了技術(shù)登記體系,如PRONOM、UDFR、PlanetsCore、MIME MTR等。
國(guó)外一些數(shù)字保存機(jī)構(gòu)或軟件公司推出了眾多的文件格式識(shí)別工具,用來(lái)獲取不同格式數(shù)字對(duì)象的技術(shù)元數(shù)據(jù)信息和標(biāo)簽信息,比較典型的工具有DROID、JHOVE、FITS等。
DROID是英國(guó)國(guó)家檔案館開(kāi)發(fā)的一個(gè)文件格式識(shí)別工具,目前已被廣泛應(yīng)用于文化遺產(chǎn)機(jī)構(gòu)、各級(jí)政府部門以及其它公共服務(wù)機(jī)構(gòu),同時(shí)被嵌入了眾多的商業(yè)或開(kāi)源數(shù)字保存軟件中。目前DROID能識(shí)別超過(guò)1400種格式的文件,在識(shí)別文件格式的同時(shí),DROID還提取諸如文件大小、最后修改日期以及文件路徑等信息。這些信息顯示在它的圖形化用戶界面上,可使用過(guò)濾條件予以分析,或?qū)С鲋罜SV文件。開(kāi)源DROID可運(yùn)行于任何操作系統(tǒng),僅需預(yù)裝Java 1.7或1.8標(biāo)準(zhǔn)版。首次運(yùn)行時(shí),它會(huì)自動(dòng)生成一個(gè)新的配置文件,添加待識(shí)別的單獨(dú)文件或文件夾里的多個(gè)文件后,即可運(yùn)行配置文件,可將識(shí)別出的相關(guān)信息保存至后綴名為droid的文件,也可導(dǎo)出至一個(gè)CSV文件。
JHOVE最初是由安得烈·W·梅隆基金會(huì)資助,JSTOR和哈佛大學(xué)圖書(shū)館協(xié)作開(kāi)發(fā)的電子檔案倡議項(xiàng)目,目前由開(kāi)放保存基金會(huì)維護(hù)。通過(guò)JHOVE,人們可對(duì)數(shù)字對(duì)象的特定格式實(shí)現(xiàn)識(shí)別、驗(yàn)證和特征化。這三種能力為文件格式互操作提供了可能。用戶可從官網(wǎng)下載安裝包,程序支持Windows、Mac OS、Linux等操作系統(tǒng),在安裝前需預(yù)裝1.6及之后版本的JAVA程序。識(shí)別、驗(yàn)證和特征化由JHOVE的模塊實(shí)現(xiàn),轉(zhuǎn)換結(jié)果由文本、XML、音頻等輸出處理程序控制。JHOVE提供的模塊包括AIFF、ASCII、BYTESTREAM等。針對(duì)每個(gè)模塊,均提供了簡(jiǎn)介、范圍、有效性、信息表達(dá)、附加文件格式信息等方面的內(nèi)容。
FIDO(Format Identification of Digital Objects)作為開(kāi)放保存基金會(huì)產(chǎn)品之一,是識(shí)別數(shù)字對(duì)象文件格式的命令行工具。目前軟件最新版本是v1.3.4。它可運(yùn)行于任何操作系統(tǒng)平臺(tái),除Python 2.7外不需要其它運(yùn)行條件。缺省情況下,F(xiàn)IDO通過(guò)conf/formats.xml和conf/format_extensions.xml兩個(gè)文件裝載格式信息,附加格式信息由-loadformats命令行參數(shù)予以確定。如果不只一種文件格式需要識(shí)別,則用逗號(hào)將-formats參數(shù)進(jìn)行分隔。FIDO的輸出受控于matchprintf和nomatchprintf兩個(gè)參數(shù),每一個(gè)輸出結(jié)果均為包含格式化信息的字符串。
FITS最早由哈佛大學(xué)圖書(shū)館創(chuàng)建并用于數(shù)字倉(cāng)庫(kù)的長(zhǎng)期保存,現(xiàn)由哈佛大學(xué)的OpenScholar提供技術(shù)支持。它作為一個(gè)封裝器,調(diào)用不同的開(kāi)源格式識(shí)別工具并管理輸出結(jié)果,從這些開(kāi)源工具得到的輸出結(jié)果被轉(zhuǎn)換成一種通用格式,與另外的格式相比較并合并成一個(gè)簡(jiǎn)單的XML輸出文件。FITS可運(yùn)行于Windows、Mac OS X以及*nix等操作系統(tǒng)平臺(tái),由JAVA語(yǔ)言編寫,與JAVA 1.7或更高版本兼容。當(dāng)前FITS的最新版本是2017年5月30日發(fā)布的1.1.1版,封裝的工具包括DROID、JHOVE、Apache Tika、Exiftool等。
Jpylyzer是一個(gè)JP2(JPEG 2000 Part 1)圖像驗(yàn)證和屬性提取工具。它的開(kāi)發(fā)得到了SCAPE項(xiàng)目、開(kāi)放保存基金會(huì)和荷蘭國(guó)家圖書(shū)館KB項(xiàng)目的資助。該軟件運(yùn)行于安裝了Python腳本程序的Windows或Debian(Linux 核心)操作系統(tǒng),目前最新程序版本是2016年1月6日發(fā)布的1.17.0版本,提供了1個(gè)位置參數(shù)、7個(gè)可選參數(shù),輸出結(jié)果指向標(biāo)準(zhǔn)輸出設(shè)備如xml文件。
Apache Tika受Apache軟件基金會(huì)資助,始于2007年3月,最新程序版本是2017年7月12日發(fā)布的1.16版。Tika是一個(gè)內(nèi)容分析工具套件,實(shí)現(xiàn)從超過(guò)1000種不同類型的文件中檢測(cè)和提取元數(shù)據(jù)及文本信息。所有這些文件類型通過(guò)一個(gè)簡(jiǎn)單接口進(jìn)行解析,使得Tika在搜索引擎的索引、文件格式的內(nèi)容分析與轉(zhuǎn)換等方面發(fā)揮作用。
ExifToo是獨(dú)立的Perl庫(kù),結(jié)合一個(gè)命令行程序,用以讀、寫和編輯各種文件格式的元信息,支持不同的文件格式如EXIF、GPS、IPTC等。它支持Windows、Mac OS X 和Linux等操作系統(tǒng),目前程序的最新版本是2017年7月7日發(fā)布的10.59版。ExifTool具有強(qiáng)大、快速、靈活、可定制的文件格式識(shí)別能力。針對(duì)不同文件格式和JPEG元信息,它能提供讀、讀寫、讀寫及創(chuàng)建功能支持。
MediaInfo是MediaArea開(kāi)源軟件公司的產(chǎn)品之一,為音頻和視頻文件提供最相關(guān)的技術(shù)和標(biāo)簽數(shù)據(jù)統(tǒng)一揭示。該軟件可運(yùn)行于各種平臺(tái)。目前Windows平臺(tái)的最新程序版本是0.7.97。MediaInfo數(shù)據(jù)揭示包括容器、視頻文件、音頻文件、文本文件、章節(jié)內(nèi)容等對(duì)象,對(duì)不同對(duì)象可識(shí)別出不同的技術(shù)和標(biāo)簽信息。MediaInfo的查看結(jié)果以文本、CSV、HTML等形式導(dǎo)出,提供圖形化用戶接口,多語(yǔ)言顯示。
數(shù)字保存的技術(shù)注冊(cè)是用來(lái)描述數(shù)字對(duì)象的技術(shù)依賴性,存儲(chǔ)、發(fā)現(xiàn)和傳遞與數(shù)字格式相關(guān)的表示信息,在數(shù)字對(duì)象的標(biāo)識(shí)符和格式編碼描述之間建立起明確的關(guān)系,確保文件格式能夠被長(zhǎng)久的識(shí)別[2]。目前已出現(xiàn)了一些有影響力的文件格式注冊(cè)登記系統(tǒng),如PRONOM、UDFE、MIME MTR等。
PRONOM由英國(guó)國(guó)家檔案館數(shù)字保存部開(kāi)發(fā),目前最新版本為6.2版。PRONOM源于如何有效獲取存儲(chǔ)在數(shù)字檔案中電子文件的可信賴技術(shù)信息。它的開(kāi)發(fā)旨在解決文件格式信息獲取問(wèn)題,并逐步得到了廣泛應(yīng)用。PRONOM支持對(duì)象遷移時(shí)保留所有記錄的原始格式,同時(shí)聚焦電子記錄的自動(dòng)轉(zhuǎn)換遷移路徑。PRONOM唯一標(biāo)識(shí)符,簡(jiǎn)稱為PUIDS,能為文件格式提供持久的唯一的明確的標(biāo)識(shí)符,從而允許人或自動(dòng)化的代理程序明確地識(shí)別和共享一個(gè)數(shù)字對(duì)象的標(biāo)識(shí)符和編碼格式。PRONOM提供的查找功能包括簡(jiǎn)單查找、文件格式、PUID、軟件、供應(yīng)商、生命周期、遷移路徑等。
GDFR(Global Digital Format Registry)由哈佛大學(xué)圖書(shū)館開(kāi)發(fā)。該項(xiàng)目已經(jīng)結(jié)束,但其數(shù)據(jù)模型、格式分類、格式模型及關(guān)系仍對(duì)文件格式登記有重要借鑒價(jià)值。UDFR(Unified Digital Format Registry)是美國(guó)國(guó)家數(shù)字信息基礎(chǔ)設(shè)施保護(hù)計(jì)劃的一部分,旨在通過(guò)開(kāi)源、語(yǔ)義實(shí)現(xiàn)及社區(qū)支持平臺(tái)等形式,尋求對(duì)兩個(gè)已存登記系統(tǒng)PRONOM和GDFR的功能和屬性實(shí)現(xiàn)統(tǒng)一。Planets項(xiàng)目由歐盟資助,旨在解決核心數(shù)字保存面臨的挑戰(zhàn),對(duì)不同對(duì)象類型(格式)及其屬性的相關(guān)技術(shù)信息提供一個(gè)可以檢索的數(shù)據(jù)庫(kù),以及可能應(yīng)用于這些對(duì)象類型的數(shù)字保存執(zhí)行工具。MIME MTR (MIME Media Types Registry)是IANA提供的媒體類型及子類型文件格式登記和注冊(cè)系統(tǒng)(參見(jiàn)RFC2046),媒體類型的登記步驟可參考RFC6838、RFC4289和RFC6657。IANA提供的登記類型包括應(yīng)用文件、音頻、字體、示例、圖像、消息、模型、多媒體類型文件、文本、視頻等10類,同時(shí)為每一種類型的不同格式提供了相應(yīng)的模板和參考。
解決數(shù)字資源長(zhǎng)期保存中的文件格式互操作問(wèn)題需重點(diǎn)關(guān)注兩方面:文件自身的互操作能力和文件格式識(shí)別工具的有效使用。文件自身的互操作能力包括數(shù)據(jù)交換能力、兼容性、穩(wěn)定性、可伸縮性、標(biāo)記的兼容性和可擴(kuò)展性、對(duì)不同存儲(chǔ)技術(shù)的適用性等。為了有效使用文件格式識(shí)別工具,要認(rèn)真比較研究識(shí)別工具能識(shí)別文件的種類和數(shù)量、識(shí)別效率、識(shí)別結(jié)果準(zhǔn)確率、導(dǎo)出文件的便利和通用、操作的友好性、批量文件識(shí)別能力等因素。同時(shí),要對(duì)國(guó)外文件識(shí)別工具進(jìn)行漢化和二次開(kāi)發(fā),以利于漢語(yǔ)環(huán)境下的使用。
[1]梁娜,張曉林.數(shù)字文件格式登記系統(tǒng)[J].圖書(shū)情報(bào)工作,2005(11):81-84.
[2]劉振.數(shù)字長(zhǎng)期保存中的技術(shù)注冊(cè)應(yīng)用研究[J].情報(bào)科學(xué),2017(2):126-129+149.