替代字元
![本頁使用了標題或全文手工轉換](http://images.weserv.nl/?url=//upload.wikimedia.org/wikipedia/commons/thumb/c/cd/Zh_conversion_icon_m.svg/35px-Zh_conversion_icon_m.svg.png)
替代字元(英語:substitute character,␚)是一個控制字元,它被用於替代辨識為無效、錯誤或不能在指定裝置上表示的字元。它也被一些程式語言用於跳脫序列。
在ASCII和Unicode字元編碼中,該字元的編碼為第26號(十六進制 1A)。標準鍵盤下,同時按下Ctrl + Z鍵將傳送此代碼(Ctrl+Z通常表示為^Z)。[1]當使用Unicode進行編碼時,輸出會相容該字元時,但是推薦使用 replacement character (�, U+FFFD) 進行代替,以達到解碼時顯示該字元的目的。
使用
檔案末尾
在CP/M 1和2(以及MP/M的衍生品)上,EOF必須被顯式標記,因為CP/M檔案系統本身不記錄檔案大小,並且檔案放在固定大小的記錄空間上,而每個檔案的結尾通常都會留下一些已分配但未使用的空間。[2][3]在CP/M上這會使用十六進制的1A字元填充。CP/M 3及更高版本(以及如Concurrent CP/M、Concurrent DOS和DOS Plus等衍生品)所使用的擴充CP/M檔案系統支援位元組粒度檔案,[4][5]所以這不再是一個強制要求,而是一個純粹的慣例,以確保向下相容性。
在CP/M、86-DOS、MS-DOS、PC DOS、DR-DOS及它們的各種衍生品中,字元26也用於指示字元流的結束,從而用於終止互動式用戶輸入命令列窗口(以及經常用於完成控制台輸入重新導向,例如COPY CON: TYPEDTXT.TXT所要求的輸入)。
儘管在技術上不再需要指示檔案的結束,但許多文字編輯器和程式語言直到現在仍支援該約定,或者可以被組態為在編輯時將該字元插入到檔案末尾,或者至少適當地處理它們的檔案。在這種情況下,它通常被稱之為「軟」EOF,因為它不一定表示檔案的物理性結束,更多是「之後沒有有用數據」的一種標記。因此事實上,在該字元後可能仍存有有用的數據,直至它在檔案系統上的終止點。因而,它也可以被用來隱藏檔案的內容,在檔案輸入到控制台或某些編輯器時。許多檔案格式標準(例如PNG和GIF)在其標題段中包含字元26以精確完成功能。一些現代的文字檔案格式(例如CSV-1203[6])仍推薦插入EOF字元作為檔案的最後一個字元。但是,在MS-DOS和微軟Windows中輸入Control+Z並不會嵌入一個EOF字元,系統API也不使用該字元來表示檔案的實際結尾。
一些程式語言(例如Visual Basic)在使用內建的檔案讀取方式時不會讀取軟EOF之後的內容,因此若需要則必須使用替代方法,例如將檔案打開為二進制模式,或者使用「檔案系統對象」操作它。
字元26被用於標記「檔案結束」,即使ASCII將它稱為「替代」(Substitute),並且有其他字元完成此目的。被稱為「檔案分隔符」的字元28也被用於類似的目的
Control+Z
Control+Z(Unix)
在Unix作業系統中,Control+Z用於掛起 當前正在執行的互動行程(放置於後台並使之停止)。[7][8]
掛起的行程之後可以通過前台(互動式)模式恢復,即輸入命令(fg
),或者以後台模式繼續執行,即輸入命令(bg
),或者被終止。當一個用戶在終端上輸入時,當前執行的前台行程傳送一個「終端終止」(SIGTSTP)訊號,這通常就導致行程被掛起而暫停執行。
Control+Z(其他)
在許多用戶圖形介面和應用程式中,Control+Z(Mac OS上為⌘ Command+Z)可以用來復原上一次操作。同時,許多應用程式也支援按下多次Control+Z來復原多次操作。Control+Z是Xerox PARC選擇的一列用來控制文字編輯的鍵盤序列。選擇這些特定的按鍵很可能是因為它們在標準QWERTY鍵盤上的獨特位置,Z(復原)、X(剪下)、C(複製)、V(貼上)鍵都在標準QWERTY鍵盤的左下區域。
更多可參考詞條:快速鍵
其他
Unicode安全注意事項 (頁面存檔備份,存於互聯網檔案館)(英文)建議將此字元作為字元集轉換期間不可對映字元的安全替代品。
表示法
參考資料
- ^ Keyboard shortcuts for Windows. Microsoft Support. Microsoft. [2 June 2012]. (原始內容存檔於2015-03-10).
- ^ John Elliott (1998).
- ^ John Elliott (1998).
- ^ John Elliott (1998).
- ^ John Elliott (1998).
- ^ CSV-1203 format specification Portuguese Web Archive的存檔,存檔日期2016-05-16
- ^ Other Key combinations. linux.die.net. [2020-01-14]. (原始內容存檔於2015-07-23).
- ^ Quick Reference: Unix Commands. IT Connect. University of Washington. [2 June 2012]. (原始內容存檔於2020-11-06).