文本模式

維基百科,自由的百科全書

文本模式是計算機的一種顯示模式,其內容直接以字符為單位(而非像素)顯示。通常情況下,文本模式下的屏幕被劃分為等大的矩形單元格,每個單元格內可以顯示一個字符;這與所有點可尋址(APA)模式或其他圖形模式中以像素為單位的顯示形成了對比。文本模式的應用程式通過命令行界面或其他文本界面與用戶進行交互,這些程序中所使用的許多字符集內還包含了一些有限的半圖形字符,它們可以用於繪製方框、按鈕等基本圖形以突出顯示內容或模擬GUI程序中的小部件。IBM的代碼頁437就是一個典型的文本模式字符集。

VGA下顯示的代碼頁737
VGA下顯示的代碼頁737

歷史

使用文本模式的視頻輸出在1970年初開始流行,得益於文本模式,使用視頻輸出的終端開始取代電傳打字機作為計算機使用中的輸出設備。

優點

與圖形模式相比,文本模式的優勢在於更低的內存消耗和更快的顯示速度。在上世紀70年代時,計算機為了存儲屏幕上的每個像素所需要安裝的內存在成本上高的驚人,因此出現了稱為幀緩衝器的設備。早期的幀緩衝器是獨立於計算機外的設備,除了其連接的顯示器的巨大費用外,自身也需要數千美元來購置。雖然對僅需要簡單圖形的程序來說使用向量顯示技術比使用幀緩衝器更經濟,但許多程序(如數據庫程序)中快速高效地顯示內容更加重要,因此幀緩衝器得以在市場上留存。

文本模式通過專用的顯示硬件來將每行文本從字符重新渲染成像素,再由陰極射線掃描到屏幕上,從而避免了昂貴的內存問題;正因此,顯示硬件也僅需要存儲一行文本(甚至更少)像素的內存空間即可完成顯示功能,在計算機的屏幕緩衝區中也只存儲了底層的文本字符(因此得名「文本模式」),只有屏幕上完整地出現了代表這些字符的實際像素。

例如,使用文本模式時顯示 80 x 25 個字符僅需要2000個字節作為緩衝[1];相比之下使用圖形模式在單色顯示器上顯示 80 x 25 個字符需要高達16000個字節。按照現代計算機的標準來看約等於16KB的內存似乎微不足道,但考慮到在1977年發佈的Apple II電腦也僅有4KB的內存,16KB的內存便顯得過於龐大和昂貴。

文本模式的另一個優點就是它在使用遠程終端時對帶寬的要求較低。因此,當使用文本模式連接到遠程終端時,屏幕更新的速度必然比使用圖形模式的遠程終端要快得多,因為遠程伺服器僅需為文本模式的終端傳輸幾十個字節,而對圖形模式的終端則需要傳輸整個屏幕的位圖圖像。

自定義字符集

由於可以重新定義字符集中字符的圖案,有時文本模式程序和圖形模式程序的邊界會很模糊,大多數製作優秀的程序會靈活應用自定義字符集來為用戶顯示按鈕、圖標甚至鼠標指針等元素。在電子遊戲中,使用文本模式渲染對遊戲操作很有用,因為與面向像素的渲染相比,玩家可以更及時地操作並獲得反饋。

常見的文本模式

IBM PC兼容機根據所用顯示適配器的不同一般都兼容多種文本模式,部分常見的文本模式如下表所示[2]

解像度(字符) 字符大小(像素) 圖像解像度(像素) 色彩模式 顯示適配器
80×25 9×14 720×350 僅黑白雙色 MDA大力神
40×25 8×8 320×200 16色 CGAEGA
80×25 8×8 640×200 16色 CGAEGA
80×25 8×14 640×350 16色 EGA
80×43 8×8 640×350 16色 EGA
80×25 9×16 720×400 16色 VGA
80×30 8×16 640×480 16色 VGA
80×50 9×8 720×400 16色 VGA
80×60 16色 VESA兼容高級VGA
132×25 16色 VESA兼容高級VGA
132×43 16色 VESA兼容高級VGA
132×50 16色 VESA兼容高級VGA
132×60 16色 VESA兼容高級VGA

MDA模式下的文本可以用加粗、下劃線、翻轉和閃爍來進行強調。

大多數顯示適配器都向後兼容,例如EGA支持所有MDA和CGA模式,VGA支持MDA、CGA和EGA模式。

目前,DOS環境和Windows的控制台中最常使用的文本模式為16色80×25。這種模式幾乎與所有IBM PC兼容機兼容。此外還存在幾種VGA文本模式,如80×43和80×50,但很少使用;也存在40列的文本模式,但除了演示或非常舊的硬件外幾乎毫無用處。

VESA兼容高級VGA的字符大小和圖形解像度依製造商不同而不同。在這些顯示適配器的文本模式中,如果程序希望使用第二個擴展字符集(即將可顯示的圖形字符數由256個擴展到512個),那麼將會使可顯示的顏色從16種減半為8種。

除了上述的顯示適配器外,有的顯示適配器(如S3)支持可以自定義的超大文本模式,如100×37甚至160×120。

現代應用

許多現代的控制台程序仍然保持着文本模式的顯示風格,在計算機編程中尤為常見。此外,現代作業系統中仍擁有模擬文本模式的組件,例如Windows中的命令提示符PowershellLinuxmacOS中的終端等。

參考文獻

  1. ^ Inc, Ziff Davis. Cover Story: The Perfect PC. PC Mag (Ziff Davis, Inc.). 1992-07 [2021-08-04]. (原始內容存檔於2021-09-01) (英語). 
  2. ^ Int 10/AH=00h. www.ctyme.com. [2021-08-04]. (原始內容存檔於2021-12-05).