TXT中藏奧秘

2023-02-23     電腦愛好者

原標題:TXT中藏奧秘

說起TXT文本文件,你一定首先會想到Windows的「記事本」程序。似乎TXT文本文件就是記事本程序的「專利」。但實際上,TXT文本文件只不過是記事本程序的一個常用「產品」而已,我們用其他許多程序都可以「生產」出TXT文本文件來。TXT文本文件看似簡單,但其實所涉及的知識和技能,以及圍繞它所能展開的話題卻是十分廣泛的。本專題我們就圍繞TXT文本文件這一核心,一同走進TXT文本文件的世界,探索TXT文本文件及其使用技巧的奧秘。

文|何超 圓圓

TXT文本文件也稱純文本文件。是指保存在計算機中,只包含文字、符號、數字和換行標記,擴展名為.TXT的文件。但這並不是說,文本文件就是TXT文件,還有許多擴展名不是.TXT的文件,它們的內容其實也是上述的文字、符號、數字和換行符等,其實它們也是純文本文件,例如各種程序的原始碼。本文我們主要討論TXT文本及文本文件,程序代碼不是主要討論的內容。

一、「性格」分明的TXT文本文件

TXT文本文件的最大優點就是占用空間小。現在筆者手裡有一個內含3163萬字,容量為37.7MB的超大TXT文本文件。這個文件的內容到底有多少呢?如果覺得不夠直觀,那麼我們用一個實例來進行測算——如果你每天能寫一萬字,那麼需要寫上3163天,也就是將近9年的時間,才能寫完這些內容,但這些內容作為純文本存儲,其所占用的空間僅僅有37.7MB而已。可見,即便是一位瘋狂的作家,如果用TXT文本文件來存儲其所寫作作品,那麼一輩子僅用一張512MB的快閃記憶體卡就足夠了。

(圖1:3163萬字的TXT文本僅占用37.7MB空間)

易於在網絡上傳播,是TXT文本文件的另一個優勢。由於TXT文本的「體型」小,所以它在網絡上傳播是最為容易的。在早年帶寬或網速比較緊張的網際網路環境下,人們既希望在網絡上能夠傳播更多的內容,又希望其他人能夠快速地看到這些內容,因此最好的辦法便是直接將TXT文本編排在HTML網頁中,輔以必要的顏色變化進行發布,而不是將它們做到漂亮的圖片中來引人關注;或者乾脆直接將一些TXT文本文件做成連結供人們下載,例如早期的網絡小說等。而如今,雖然網絡速度普遍增快,但誰有能保證或許在某個偏僻的角落裡,某人用一台古老的電腦上網,查看一張寫入漂亮圖片中的文字時,正為遲遲不能顯示出內容而不著急呢?正因為如此,為了適應不同網速終端的訪問需求,要傳達的信息以TXT文本的形式來發布是最為保險的辦法。

(圖2:將TXT文本編排在HTML網頁中最容易查看)

雖然說TXT純文本文件優點突出,但它的缺點也同樣明顯。由於TXT文本文件只包含文字、符號、數字等,因此如果它不依託具有更多格式支持的編輯器,就難以展現出形式多樣的版面效果。用過記事本之後,你一定有所體會,當我們希望以更加豐富多彩的形式來表達一篇文檔的內容時,記事本程序由於對格式支持的功能匱乏而顯得很無能。這時,我們一定會首先想到Word、WPS,甚至是Photoshop之類的專用軟體。只有使用此類軟體,才能排出更加耀眼的作品,賦予文字更大的魅力。

(圖3:TXT文本依靠支持豐富格式的編輯器才能展現出魅力)

小技巧:兩招改變記事本程序的千篇一律

是不是覺得記事本程序窗口中的文本或代碼太單調、太不顯眼?其實,Windows 10的記事本程序也允許我們改變字體種類和大小。在打開的記事本程序中,選擇菜單命令「格式字體」,然後在「字體」對話框中選擇字體的類型以及大小,這時編輯窗口中的字體就會得到改觀。

如果對窗口中的字體大小不夠滿意,那麼可以利用菜單命令「查看縮放放大/縮小」,或者直接在編輯窗口中按下「Ctrl+加號」或「Ctrl+減號」,逐步微調字體的大小即可。

(圖4:記事本程序也能顯示亮眼的大字)

(圖5:在記事本程序中微調字體的大小)

二、創建TXT文本文件方法多

在使用DOS的年代,TXT文本文件的編輯工具最早是行編輯命令,後來出現了字符形式的編輯器EDIT,那時已經這是很了不起的編輯器,但如果拿到現在來看真是太簡陋了。到了Windows時代,我們最常用的TXT編輯工具是記事本程序,其他文字處理軟體也大都支持TXT文本文件的讀寫,如Windows自帶的寫字板程序,以及Word、WPS等專業編輯工具。利用各類第三方編輯軟體以及程序設計工具軟體,也均可以創建和編輯TXT文本文件。

不用先開「記事本」 右鍵創建更簡單

先雙擊記事本程序圖標,打開之後輸入內容,然後再將TXT文件保存到一個目標位置,這當然是創建TXT文本文件的常規方法。但這種方法不如用右鍵菜單命令來創建更加方便:直接在目標文件夾內的空白處單擊滑鼠右鍵,然後依次選擇「新建文本文檔」,這樣不但可以立馬創建一個文本文件,而且可以順帶將文件名更改為自己想要的名字,最後雙擊這個空文件,便會自動打開記事本程序來編輯了。

(圖6:用右鍵菜單創建TXT文本文件更方便)

小技巧:記事本如何創建TXT之外的文本文件

除了創建TXT文本文件外,記事本程序可以創建各類程序的原始碼文件,這些其實也是文本文件。許多程式設計師在應急時都會使用記事本程序來創建原始碼文件。創建的方法也很簡單,只需開啟一個新的記事本程序窗口,輸入程序代碼內容,在下達另存文件命令「文件另存為」或按下「Ctrl+Shift+S」時,將「保存類型」選擇為「所有文件 (*.*)」,然後在「文件名」框中輸入自己所需要的程序文件名及擴展名即可。例如,當我們輸入了C++語言的原始碼之後,將其命名保存為「mypro.c」文件即可。

(圖7:用記事本創建TXT之外的程序代碼文本)

利用專業編輯工具 創建TXT文本文件

用專業級的文字編輯軟體,如Word或WPS等,創建TXT文本文件的基本方法非常簡單。只需在「文件」菜單中選擇「另存為」命令,起好一個名字,即可完成TXT文本文件的創建。其實,創建文本文件另外還有其他方法和技巧,例如「選擇性粘貼」法、記事本過濾法等。

(圖8:用WPS創建TXT文本文件)

「選擇性粘貼」法是將複製的一些帶有排版格式的文字內容,濾掉格式之後,僅留下其文字內容以獲得純TXT文本的方法,常用來將來自網頁或專業文檔編輯工具中的帶格式文本轉換為無格式的純TXT文本。在WPS辦公軟體、微軟Office軟體,以及一些網絡瀏覽器中,均含有「選擇性粘貼」的特殊粘貼選項。

而記事本過濾法則是另一種過濾格式的方法,我們可以先將含有格式的文本複製並粘貼到記事本程序中,由於記事本程序對許多格式的不支持,這樣在粘貼的過程中便會自動丟失這些格式,直接將帶格式的文本複製過來,即可獲得TXT純文本。最後將文件保存下來,即可獲得TXT文本文件。

TXT文本文件創建與處理的「大拿」——EmEditor

EmEditor是源自日本的一款文本編輯和處理工具,它豐富的文本處理功能以及對大文本的處理能力,深受以處理TXT文本為主的文字編輯以及各類程式設計師們的青睞。

EmEditor支持超級查找和替換,由於可以使用正則表達式,給文本處理提供了極大的想像和實現的空間。

(圖9:功能超群的TXT文本編輯器EmEditor)

無限擴展的插件,又給該軟體提供了功能的不斷擴充,能夠滿足更多文本處理的需求。利用EmEditor軟體的插件,我們可以方便地實現字體和行距的改變、字號的縮放、大小寫的轉換、窗口的分割與合併、段前段後空格以及空行的自動刪除、重複行的刪除、字數的統計、繁簡體字的轉換等操作。如果TXT文本文件中有一系列數據,或者是一個名單的列表,那麼還可以實現文本列表中數據的排序。

而有規律的重複性動作,依靠「宏」的錄製和利用,可以讓重複的勞動自動執行,可以大大解放操作者的雙手勞動。

在該軟體中,我們還可以輕鬆實現兩個文本文件的比較,大文本文件的讀取,分割、合併等操作。

下面我們將會結合一些具體的實例,來講述該軟體在日常操作中的應用。

三、TXT文本處理技巧貼心大放送

雖然TXT文本文件的創建比較簡單,但在TXT文本文件的使用過程中,有許多技巧還是需要我們去探索和掌握的。如果不能掌握這些方法和技巧,在遇到某些問題時可能會感覺無從下手或疑惑不解。下面我們就列舉一些與TXT文本或文本文件處理相關的技巧和案例。

超大TXT文件 打開有訣竅

也許你會覺得,打開一個TXT文件不是一件容易的事嗎?雙擊文檔,自動啟用記事本程序不就解決問題了嗎?那麼,如果你手頭上擁有一個從伺服器資料庫中導出的容量為上百MB的「大個頭」日誌TXT文件,試試看是什麼體驗。

看到網上有一位讀者問,為何我在一個還不算慢的電腦上,用記事本打開一個30MB的文本文件,等了好一陣子才看到其中的內容?

(圖10:30MB的文本文件用記事本程序打開很緩慢)

小知識:為何記事本程序打開文本如此緩慢

其實,我們平時之所以感覺用記事本程序打開TXT文件是很輕而易舉的事情,那是因為它主要是為打開普通容量的TXT文件而設計和準備的,況且人們日常使用電腦也不會有超大的TXT文本,因此才不會感覺到吃力。但上當下大數據越來越火爆的日子裡,百MB的TXT文件畢竟也可能會遇到,例如將一個大型資料庫中的數據導出為TXT文件,就很有可能生成一個幾十甚至幾百MB的文件。那麼,究竟記事本程序能支持打開多大的TXT文本文件,打開這樣的文件,最好的方法是什麼呢?

在早期的Windows版本中,例如Windows 98的記事本程序只能打開小於64KB的文本文件,如果打開的文本文件超過這個值,那麼會提示「文件太大,記事本無法打開,要用寫字板讀取文件嗎?」這時,有人便想出一個辦法,用修改十六進位文件的編輯器,例如UltraEdit或Winhex打開notepade.exe文件,修改其中某個地址的偏移值,然後也能打開大於64KB的文件。

之後版本的Windows雖然超越了這個限制,可以打開更大容量的文本文件,但是當打開幾十個MB的文檔時,就會讓人明顯感覺到很吃力了。要打開一個上百MB的文檔,雖然可以經歷一段漫長的時間後等來打開的結果,但這往往是人們所不能忍受的。因此,遇到這種情況,更多人是去選擇換一個其他的文本編輯器來完成這項任務。

我們以上面介紹的EmEditor為例,如果要打開一個比較大的TXT文件,雙擊該文件,軟體會默認在文檔窗口的右側彈出「大文件控制器」的設置面板。我們可以在其中選擇打開整個文件還是打開文件的開始部分、結尾部分或中間部分。如果是打開某個區間的一段文本,則設置「從」某個位置「到」某個位置的值即可。

(圖11:通過大文件控制器來控制文件的打開部位)

如果不想使用大文件控制器來打開一個大文件,可以到「自定義」對話框中的「文件」選項卡下,清除「當打開一個大文件時,顯示大文件控制器」這個複選框。在關閉了這個選項的情況下,若是下次要使用大文件控制器,可以通過「查看」下拉菜單中的「大文件控制器」來手動開啟大文件控制器。

(圖12:通過設置來關閉自動打開大文件控制器的功能)

(圖13:通過菜單命令隨時打開大文件控制器)

除了上述的EmEditor軟體外,還有一款更加輕巧的小工具LogViewer Pro,這是一款不足1MB的小軟體,卻能夠打開超大文本文件。它是一個專用的日誌查看軟體,當電腦用久了之後,尤其是一些伺服器的系統,其中會積攢有一些超大規模的日誌文件,這時用該軟體就可以輕鬆查看這些文件了。該軟體可以支持4GB甚至更大的日誌文件的查看。這裡所說的日誌文件,其實也就是編碼為ANSI、OEM、Unicode LE、Unicode BE等的文本文件。它還支持文件內容的搜索、列印等,能夠讓我們快速找到有用的信息並記錄下來。

(圖14:用LogViewer Pro打開超大文本文件)

另外,還有一款非常專業的文本編輯軟體PilotEdit,該軟體在打開各種編碼的超大文件方面也是一把「好手」。除此之外,該軟體還有許多編輯相關的其他高級功能。限於篇幅,這裡不再展開敘述,後續有機會再用專門的篇幅為大家介紹這款軟體。

同一TXT文件 編碼有說道

有時,當我們打開一個TXT文本文件的時候,發現其內容全是亂碼;還有的時候,在編輯完某篇TXT文本後,存檔時系統會提示我們是否要保存為某種編碼格式。可見,TXT文件的編碼不是唯一的,出現亂碼或要求選擇編碼,往往是因為文件保存時的編碼格式與讀取環境所要求的編碼格式不匹配造成的。

在用記事本程序編輯完一篇文本之後,如果要保存文件,Windows 10中默認的編碼格式一般為UTF-8。其實還有其他格式可選,例如ANSI、UTF-16BE/LE等,點開「編碼」下拉列表就可以看到了。

(圖15:記事本程序保存文檔時的編碼選擇)

在實際應用中,我們接觸比較多的文本編碼有3種:ASCII、ANSI和UNICODE,其中ASCII碼是後兩種編碼或大多數常用編碼的基礎。ASCII編碼為Windows早期的編碼,只能表示256個符號(含控制符號),用它來表示英文足夠,其中鍵盤上可見的符號(大小寫英文字母、數字、英文符號等)的編碼範圍是從32到126。但用來表示漢字等雙位元組符號就不夠了,因此後來出現了中文字符集GB2312,以及後來的GBK大字符集,這些都屬於ANSI編碼。由於這些編碼在各國語言環境下的兼容性問題,因此又發明了Unicode統一字符集。我們在記事本程序的「另存為」對話窗口中看到的編碼,除ANSI之外的其他幾種選擇,就屬於Unicode統一字符集之列。而UTF-8則是目前、尤其是網頁中比較流行的一種格式,被Windows 10記事本程序設為默認的保存編碼格式。

(圖16:因編碼不兼容而出現的TXT文本亂碼顯示)

如果將一段文本保存為上述的不同格式,那麼若是轉到Windows系統語言為日語或其他類語言的環境下,打開用ANSI編碼的文件閱讀時,就可能會看到亂碼顯示,而用Unicode字符集的其他編碼格式保存的文件,都能正常顯示。由此也可以獲得一個啟示,如果我們需要將TXT文本發送給國外的朋友閱讀,那麼就要選擇Unicode字符集的編碼來保存後發送,例如選擇UTF-8編碼。

此外,如果在打開一篇TXT文本時出現了亂碼顯示,那麼可以將其以該文本默認格式之外的一種其他編碼格式另存,然後重新打開,一般可以恢復原有的正常顯示狀態。此外,使用記事本程序的,還可以嘗試在「字體」設置對話框中,將「腳本」選擇為一種其他類型。

(圖17:在記事本程序中設置其他腳本編碼消除亂碼)

還有一種解決方法是在Windows 10中搜索「區域設置」,進入區域設置窗口後點擊「其他日期、時間和區域設置」,隨後在出現的控制面板「區域」窗口中,切換到「管理」選項卡,然後點擊「更改系統區域設置」按鈕,並將當前系統區域設置切換為一種不同的選項。還可以勾選「使用Unicode UTF-8提供全球語言支持」複選框。這樣也可以消除亂碼文本顯示。

(圖18:在「區域」設置窗口中點擊「其他日期、時間和區域設置」)

(圖19:在「區域」設置窗口中切換全球語言支持選項)

TXT文本文件標籤的妙用

在EmEditor窗口中打開TXT文本文件之後,別小看一個小小的TXT文件標籤,我們可以利用它來完成許多實用任務。如果在編輯TXT文本文件的同時,需要處理與它同在一個文件夾中的其他文件,或者進入該文件夾的命令窗口運行一些命令,那麼可以右鍵單擊該文件的標籤,從中選擇需要的選項來完成任務。

(圖20:TXT文本文件標籤的妙用多)

例如,選擇「從該文件夾中打開…」,可以打開數十種程序代碼文本;如果需要在該文件夾中運行程序或做其他更多的事,則選擇「打開所在文件」(或直接按下「Alt+Shift+E」組合鍵);如果想要進入該文件所在位置的命令窗口執行命令,那麼選擇「打開命令提示符」或「打開PowerShell」選項。此外,如果正在處理的某個程序代碼文本或說明文檔中正好需要引用該TXT文本文件所在的磁碟路徑,那麼選擇「複製路徑」即可。

(圖21:進入TXT文本所在的文件夾選擇更多的其他類型文本文件)

TXT文本文件的拆分處理

對於一個「體量」比較大的文本文件,我們除了可以用上面介紹的支持大文件閱讀和處理的編輯器來處理外,還可以採取化整為零的策略,即將大文本文件拆分為一些小文件。EmEditor軟體就有這樣的功能,我們以拆分一個38MB大小的TXT文件為例,該文件有95萬多行的內容。

在EmEditor編輯窗口中點擊「工具分割文件」菜單命令,然後打開上述的TXT文件。如果文件已經在編輯窗口中打開,那麼選擇「當前文件」。接著指定分割的行數單元,例如我們按每10000行為一個文件來切分,則輸入10000。

(圖22:按行數分割大文件的參數設置)

在下一頁中,軟體會默認給出分割的文件所在的文件夾以及文件名的模板,用戶也可以自行定義位置和文件名,我們就以默認的設置為例。

(圖23:定義分割文件的位置及文件名)

當參數配置完成之後,我們還可以選擇將參數保存起來以供下次使用。

(圖24:保存配置參數以供下次使用)

點擊「下一頁」後開始分割,分割完成後就能在指定的目錄中獲取系列分段文件了。本例我們共獲得了96個TXT子文件。

文本書籤在TXT切割中的妙用

也許你會說,用上述的辦法按行數切割文本太過「一刀切」,這樣無法將文本按照合適的內容分割開來,會形成兩個相鄰文件內容的上下文銜接不完整。那麼,是否能夠按照文件的內容大意,有的放矢地分類切割文本文件呢?當然可以。我們依然可以使用EmEditor軟體的切割功能,利用它所提供的「書籤」功能來輔助切割,便可以實現。具體方法如下:

首先,選中需要切割的分界段落,然後點擊「書籤設置或清除書籤」(或直接按下快捷鍵「Ctrl+F2」),這樣便會給分界段落加上一個書籤。當然,這個分界段落也可以是一個空行。按此方法給所有切割分界加上書籤。

(圖25:為分界段落設置書籤)

然後再執行「工具分割文件」命令,並選擇「在每個書籤行之前」選項,這樣便會以設定好的書籤之前為界限,將文本文件按照設定好的書籤數來進行分割了。本例中我們設置了3個書籤,最後便會生成4個分割文件。

(圖26:按設定好的書籤數來分割文件)

TXT文本文件加密方法多

要給Word、WPS或PDF文件加密,此類的編輯軟體中一般均提供了文件加密碼保存的功能。但是,如果要將一篇涉密的TXT文本文件加密保存,那麼依靠Windows記事本程序恐怕就難以做到了。在這種情況下,除了借用上述的專業編輯器的加密功能外,我們當然還可以將文本用WinRAR或好壓等壓縮工具壓縮,並在壓縮的同時設置密碼保護,然後刪除源文件。那麼,除此之外還有別的方案嗎?

其實,還有專門加密TXT的軟體可選。例如,上面的火速連結文章中介紹了一個FileFriend軟體。該軟體除了具有文件的拆分和合併功能外,它還可以對拆分之前或拆分後的文件加密,有兩種加密方法可選。

(圖27:FileFriend軟體能夠對拆分文本進行加密)

為了避開Windows記事本程序只能編輯文本但不能加密文本的麻煩,我們還可以使用本刊此前介紹過的一款Crypto Notepad軟體來編輯和保存文本,用它在編輯器內編輯完文本後,直接保存為加密格式,更加方便、安全。

(圖28:用Crypto Notepad編輯完TXT文本後加密保存)

讓記事本下崗 TXT編輯器尋替代

除了上面介紹的一些TXT文本文件的編輯器之外,能夠替代Windows記事本的、功能更為強大的編輯器還有許多。本刊就曾經介紹過不少這方面的小巧實用的工具軟體。 CF

原文刊登於2022 年 12月 27 日出版《電腦愛好者》第 22 期

END

更多精彩,敬請期待……

文章來源: https://twgreatdaily.com/93ef9cc725291ef49802f5131741ed43.html