Rtf(富文字格式)解析

2021-09-07 19:33:58 字數 1110 閱讀 5065

rtf規範最早是微軟編寫的關於多**儲存的一種文件儲存格式,後來微軟把它開放出來,這樣就使得不同的應用程式、作業系統、顯示裝置之間可以根據rtf規範進行實現,最終使得同乙個rtf格式的文件在不同的環境有相同的顯示效果。

1、rtf檔案:使用7-bit ascii字元格式儲存,檔案沒有限制一行的最大長度。

rtf檔案 = 組 + 控制字 + 控制符 + 文件內容

2、控制字:管理文件資訊、文件顯示格式的命令,乙個控制字最長32個字元。

控制字 = \ + 字母序列 + 分隔符

例如:"\fc "代表字型顏色

字母序列 = a~z小寫字母中的乙個或者多個字元

例如:"\fc "代表字型顏色

分隔符 = 空格 或者 數字 或者 空格和數字 (數字作為控制字的引數)

例如:"\b "代表加粗,"\b0 "代表不加粗

注意:任何非字母和數字的其他字元。這種情況下,此分隔字元結束控制字,而它並不屬於控制字的一部分。如果乙個空格用於分隔控制字,該空格不會在文件**現。而任何跟隨該分隔符的字元,包括空格,將在文件**現。因此,你應該只在必要時使用空格,避免僅僅為了分割rtf**而使用空格。

3、控制符:控制符不需要分隔符

控制符 = \ + 非字母數字字元

例如 「\~」代表不換行空格。

4、組

組 =

例如""會將"這個代表加粗"內容進行加粗

注意:乙個組的格式描述只影響組內的文字。通常,乙個組中的文字繼承前一組的文字格式。但微軟的rtf約定,對於腳注、註解、頭和尾的組(本章稍後描述)不繼承前一組的文字格式。因此, 請確定這些組總能正確格式化,正確做法是用\sectd, \pard\plain控制字將組中的格式設為預設值,然後再增加任何需要的格式。

\sectd : 重新設定為預設的節屬性

\pard:重置為預設段落屬性

\plain: 重新設定字型(字元)格式化屬性為應用程式定義的預設值(例如,粗體、下劃線、斜體被禁止;字型大小被重新設定為12磅point)。關聯字型(字元)格式化屬性也被重新設定。

DOS文字格式轉Unix文字格式Python指令碼

網上一頓查,發現是dos文字格式與unix文字格式有差異的問題。好在ubuntu有dos2unix工具,可以把dos文字格式轉為unix文字格式,使用方法見 但是問題來了,核心原始碼千千萬,不能乙個乙個手動轉吧?所以寫了個python指令碼,這個指令碼的功能是,把當前目錄包括子目錄的所有檔案轉為un...

shell文字格式

linux的shell種類眾多,常見的有 bourne shell usr bin sh或 bin sh bourne again shell bin bash c shell usr bin csh k shell usr bin ksh shell for root sbin sh 等等。不同的...

UGUI 文字格式

先說一種使用 載入text文字的方法 public string loadinfo string path 就是在resources資料夾下,放了乙個儲存為utf 8文字格式,的.txt檔案,然後就可以使用上面方式取到.txt檔案的文字。首行縮排 直接使用網上的取巧辦法,在文字前面加這個東西。jay...