替代字符
替代字符(英語: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).