ANSI escape code,ansiescapecode
最近在做iOS上的SSH終端項目,主要是在手機上遠端連線Unix系統,並進行一些簡單的指令操作,類似於SecureCRT;今天想總結一下這個項目中遇到的新東西----ANSI escape code。
摘抄https://en.wikipedia.org/wiki/ANSI_escape_code一句話簡單概括:In computing, ANSI escape codes (or escape sequences) are a method using in-band signaling to control theformatting, color, and other output options on video text terminals. To encode this formatting information, certain sequences of bytes are embedded into the text, which the terminal looks for and interprets as commands, not ascharacter codes.簡單的說,一般我們接觸比較多得指令終端(terminal),比如:Linux、Mac和Unix上的指令終端,多是採用ANSI控制碼控制顯示文本的格式和進行一些控制操作。
終端傳過來的資料是包含ANSI控制碼的,需要對其進行解碼才能將文本的顏色和字型等格式顯示出來。於是在github上尋找一番,果然找到了,這裡不得不贊一下開源精神的偉大,謝謝那些為開源而奉獻的coders。這裡需要注意的一點是有些開源項目或許時間久遠,作者沒有更新,或許是和你的需求不一致,不能直接簡單粗暴的直接使用時,需要我們改一些東西,我覺得這是學習的好機會,可以把源碼閱讀一遍,然後做一些符合自己需求的修改。
總結兩點:第一,這篇文章主要介紹了處理終端的文字格式設定你需要瞭解的是ANSI escape code,github上相關解碼的開源項目;第二,感想,寫部落格必備結尾,嘿嘿~這種項目之前做的比較少,一般做的都是iOS主流的一些功能,幸虧大學的時候接觸了點Linux開發的東西,要不連基本的Linux終端指令都不知道是什麼,那就有點困難了。但是,困難越多,要學習的東西也越多,不僅積累了知識,同時在處理問題的思路上也會不斷的成熟,能力自然會得到提升,雖然過程很受虐,但是感覺倍兒爽;PS:部落格第一次寫,水平有限,上面的內容若有偏頗,歡迎指正