
假設磁碟上儲存了一個文件,其檔案名稱以二進位編碼。
當我ls
在終端運行時,會發生什麼?
也許像:
ls
讀取檔案名字節,在目前設定的編碼中查找,如果在編碼中找不到某些字節,則轉義某些字節,然後列印出檔案名stdout
- Shell 讀取
ls
列印內容,然後再次列印到stdout
- 終端機讀取 shell 剛剛列印出來的內容,在編碼中查找,發現這些位元組代表代碼點 XX
- 然後終端在字體表中尋找程式碼點XX,並在螢幕上繪製字體
我的猜測可能是錯誤的,因為我對編碼的了解幾乎只是入門級別,如果有錯誤請指出。
請毫不猶豫地具體和深入,以幫助像我這樣的用戶了解更多資訊並解決編碼問題。我認為了解系統如何運作可以幫助使用者解決他們的問題。