什么是rtf文件rtf文件簡介
什么是rtf文件rtf文件簡介
RTF是一種在不同操作系統(tǒng)下不同應(yīng)用軟件之間進行文本和圖象信息交換的文件格式。下面是學習啦小編整理的什么是rtf文件,歡迎閱讀。
什么是rtf文件
也稱富文本格式(Rich Text Format, 一般簡稱為RTF),意為多文本格式是由微軟公司開發(fā)的跨平臺文檔格式。大多數(shù)的文字處理軟件都能讀取和保存RTF文檔。[1] rtf是一種非常流行的文件結(jié)構(gòu),很多文字編輯器都支持它,vb等開發(fā)工具甚至還提供了richtxtbox的控件。
rtf文件簡介
以純文本描述內(nèi)容,能夠保存各種格式信息,可以用寫字板,Word等創(chuàng)建。
也稱富文本格式(Rich Text Format, 一般簡稱為RTF)是由微軟公司開發(fā)的跨平臺文檔格式。大多數(shù)的文字處理軟件都能讀取和保存RTF文檔。
首先它是一般來寫字板的默認文檔之一,但除了它以外,Word、WPS Office、Excel等都可以打開RTF格式的文件。它的打開速度快,rtf是一種非常流行的文件結(jié)構(gòu),而且無損害的的一種格式。很多文字編輯器都支持它,vb等開發(fā)工具甚至還提供了richtxtbox的控件。編寫通用工具的程序員應(yīng)該考慮在自己的軟件中加入讀寫rtf文件的功能,這樣就需要對rtf的結(jié)構(gòu)有充分的了解。而現(xiàn)在最重要的信息發(fā)布手段莫過于www了,在編輯軟件中提供rtf到html的轉(zhuǎn)換也是程序員應(yīng)該考慮的事情。
rtf文件分析
結(jié)構(gòu)分析
rtf的結(jié)構(gòu)并不復(fù)雜,但內(nèi)容繁多,本文不可能一一說明,只能從總體上討論一下(如果想閱讀詳盡的rtf文檔,則可在internet上尋找或與筆者聯(lián)系。)每個rtf文件都是一個文本文件,顯示時由rtf閱讀器格式化。文件開始處是{
tf,它作為rtf文件的標志是必不可少的,rtf閱讀器根據(jù)它來判斷一個文件是否為rtf格式。然后是文件頭和正文,文件頭包括字體表、文件表、顏色表等幾個數(shù)據(jù)結(jié)構(gòu),正文中的字體、表格的風格就是根據(jù)文件頭的信息來格式化的。每個表用一對大括號括起來,當中包含了很多用字符“”開始的命令。例如,某個顏色表如下:
{colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}
開始時用\colortbl標明大括號內(nèi)是顏色表,接著是\red0\green0\blue0,登記了一種顏色,這種顏色的紅綠藍分量都為0。其它表依此類推。文件頭之后是正文,正文由版面格式化命令、文字和各種特殊命令組成。其中只有特殊命令用大括號括起來,而版面格式化命令和文字是“開放式”的,從而把文字和命令分離。文件結(jié)束時有一個“}”,和第一個“{”對應(yīng)。在整個文件中,“}”和“{”必須一一對應(yīng)。這種格式是rtf閱讀器和轉(zhuǎn)換器算法的基礎(chǔ)。
rtf格式還有一個特別之處,就是有些字符在命令中有特殊的含義,所以當它們作為文本出現(xiàn)時需要在它們的前面加一個“\”,例如“\”本身就要表示為“\”。
算法分析
本節(jié)介紹的算法雖然是針對rtf的讀寫,但也是一般文件過濾器通用的方法,適用于各種格式文件之間的轉(zhuǎn)換。具體來說就是把各種文件都轉(zhuǎn)換成一種中間格式,再根據(jù)要求進行顯示或轉(zhuǎn)換。其中有個原則是一定要遵守的:程序必須能過濾掉不認識的格式。各種文件都有其特殊的格式,在轉(zhuǎn)換過程中不可避免會出現(xiàn)格式損失的現(xiàn)象,在算法中要考慮這種情況。對于rtf這類格式化文本文件來說,最重要的是要正確地顯示或轉(zhuǎn)換文件的大小、顏色、字體等風格。因此,在程序中應(yīng)該用一個數(shù)據(jù)結(jié)構(gòu)把這些信息存起來,這個結(jié)構(gòu)就是所謂的中間格式,怎樣規(guī)定悉聽尊便。以下是其流程圖:
難點分析
一.中文的表示方式:在rtf中中文用命令的形式表示:“'內(nèi)碼”。內(nèi)碼就是漢字機內(nèi)碼。不過,請注意:rtf是文本文件,內(nèi)碼是用ascii碼來儲存的,必須把它轉(zhuǎn)換成數(shù)字才能使用。例如,“電子與電腦”在rtf中的形式是:
\'b5\'e7\'d7\'d3\'d3\'eb\'b5\'e7\'c4\'d4
二.圖片的問題:rtf中圖片以兩種方式存在:第一種方式是直接嵌入,以{\pict開始;第二種方式是作為ole對象嵌入,這時以{\object開始。當rtf處理器能直接使用ole時,rtf文件中提供了ole的數(shù)據(jù);否則,文件中直接提供圖片的數(shù)據(jù),以{\result開始。在使用中最常見的圖片格式是內(nèi)含dib bitmap的元文件(metafile),這種格式在sdk中沒有說明,而且在rtf中是以壓縮形式儲存的,所以在轉(zhuǎn)換時有一定困難。[2]
rtf文件特點
對普通用戶而言,RTF格式是一個很好的文件格式轉(zhuǎn)換工具,用于在不同應(yīng)用程序之間進行格式化文本文檔的傳送。通用兼容性應(yīng)該是RTF的最大優(yōu)點,但同時也就具有它的缺點,比如文件一般相對較大(可能因為嵌入了兼容各種應(yīng)用程序的控制符號)、WORD等應(yīng)用軟件特有的格式可能無法正常保存等。
rtf文件標準
作為微軟公司的標準文件,早期外間需要數(shù)十美元向微軟付款,才能購買一本薄薄的RTF標準文件。不過隨著采用RTF格式標準的軟件愈來愈多,RTF格式也愈來愈普遍,微軟公司就把標準文件公開,放在網(wǎng)上供開發(fā)者下載?,F(xiàn)時可供下載的各個RTF版本標準文件如下:
RTF 1.9.1 specification (March 2008)
RTF 1.8 specification (April 2004)
RTF 1.6 specification (May 1999)
RTF 1.5 specification (April 1997)
RTF 1.3 and 1.5 specifications
RTF 1.0 specification (June 1992)
rtf文件格式
rtf格式作為一個標準應(yīng)該是統(tǒng)一的,但在某種情況下進行擴展是必要的。最明顯的例子是微軟的word,它有自己獨有的rtf命令。如果想使自己的軟件在技術(shù)上占有優(yōu)勢,也可以通過創(chuàng)造新的rtf命令來實現(xiàn)。例如,如果你希望在軟件中支持dhtml,則可在rtf中嵌入{dhtml或{java之類的命令。由于rtf閱讀器有過濾不認識命令的功能,所以這樣做不會影響rtf文件的通用性。[3]
rtf文件軟件
RTF格式是許多軟件都能夠識別的文件格式。比如Word、WPS Office、Excel等都可以打開RTF格式的文件,這說明這種格式是較為通用的。這是一種類似DOC格式(Word文檔)的文件,有很好的兼容性,使用Windows“附件”中的“寫字板”就能打開并進行編輯。使用“寫字板”打開一個RTF格式文件時,將看到文件的內(nèi)容;如果要查看RTF格式文件的源代碼,只要使用“記事本”將它打開就行了。這就是說,你完全可以像編輯HTML文件一樣,使用“記事本”來編輯RTF格式文件。
看了什么是rtf文件的人還看了:
1.電腦病毒介紹知識