學習
學習ANSI跳脫序列(ANSI escape sequences)ANSI跳脫序列(ANSI escape sequences),是一種控制字元序列,用於控制終端機上的文字顯示效果,游標(cursor)位置和其他選項。這些序列通常以ESC跳脫字元和”[“字元開始,相容的終端機(例如: VT100)會將這些escape sequences解釋為相應的指令,而不是一般的普通文字。
這些序列有各種不同的功能,序列的開頭字元皆為 ESC (ASCII 27=0x1B) ,
以下列出幾種常見的ANSI序列,
對於本研究的一部分,與PTT論壇互動而言,我們將會用到是其中的 **CSI序列(Control Sequence Introducer)**,也就是 ESC [ = 0x9B。
CSI序列(Control Sequence Introducer)CSI序列,主要可以分為下列幾種主要的功能,游標控制(Cursor Controls)、螢幕清除(Erase Functions)、和顏色(Colors / Graphics Mode)控制等,以下列出幾種常見的CSI序列,
SGR ( ...
開發項目
AnsiParser - Ansi sequences解析器開發
Source code: https://github.com/bubble-tea-project/ansiparser
PyPI: https://pypi.org/project/ansiparser/
Pub: https://pub.dev/packages/ansiparser
我們開發了一個解析器,負責處理 PTT 回傳的 ANSI 跳脫序列 (ANSI escape sequences)。
Libpttea - PTT操作功能封裝
Source code: https://github.com/bubble-tea-project/libpttea
PyPI: https://pypi.org/project/libpttea/
Pub: https://pub.dev/packages/libpttea
我們將各種 PTT 功能操作和資料解析進行封裝,實現與 PTTea APP UI 部分的前後端分離。
PTTea - APP使用者介面
Source code: https ...
自我評估及心得
自我評估及心得感想1092312 郭柏宏在這個研究的開發過程中,我深刻體會到了開源精神的重要性,藉由走在他人建構好的道路上,我們能夠走的更快、更遠。開源不僅能夠促進技術共享,還能夠激發更多的創新。我們預計以MIT授權條款 (MIT License) 開源。希望在市面上大多都是商業、閉源的瀏覽APP的情況下,提供一個基礎,讓開發者可以釐清複雜的轉換且解決資料查找的困難,有效利用現有資源,來發展更多新的應用。同時也給予使用者掌握自己隱私的能力,並創造乾淨、無廣告的瀏覽環境,真正落實PTT絕不商業化的理念 。
1109926 吳姃庭在這項研究的過程中,致力於完成一個簡潔、乾淨的介面,有別於市場上商業化的PTT,如何在完成這項目標與研究計畫的同時,達到這項目標是一個需要克服的問題,我把這項工作視為是一項專案,先達成現有目標,產品完成後,我們希望可以有一定量的使用者,落實讓使用者長期習慣使用這項產品,社群行銷也會是我們的目標之一。
工作內容
工作內容研究問題本研究有下列三項研究問題:
(1) 創建Library處理含有ANSI escape sequences的資料:創建一個Dart Library,處理包含ANSI escape sequences的複雜資料和封裝其他PTT論壇的功能操作,以應對TUI與GUI (Graphical User Interface) 之間的內容互動。
(2) 使用大語言模型和Python進行資料分析處理:藉由openAI的gpt-3.5-turbo API,利用大語言模型的文字分類、文案撰寫等技術,配合Python的pandas Library 等進行資料的分析。
(3) 建立APP使用介面:採用跨平台框架Flutter,結合APP連線、UI組件、資料處理等,建立一個使用者友好的APP介面。
研究方法及步驟不同於PCMan系列BBS連線軟體 的解析方法,本研究將把含有ANSI escape sequences 的內容,轉換為HTML tags 的方法解決複雜的排版問題,儘管可以在自行建立的Parser中處理cursor controls 指令,但仍有很大的可能性會容易在裝置大 ...
工作環境介紹
工作環境介紹1511A 有舒適的讀書環境,並且有辦公用的個人電腦和印表機可供使用。此外,還有豐富的專業書籍資源可供參考。實驗室內的研究生們也都熱心助人,遇到不會的問題時,他們都樂於提供協助,並提供實用的回饋意見。
[{"url":"https://i.imgur.com/J36lTuC.jpeg","alt":""},{"url":"https://i.imgur.com/BOiAICp.jpeg","alt":""}]
[{"url":"https://i.imgur.com/BMNILv0.jpeg","alt":""},{"url":"https://i.imgur.com/YUbXSxS.jpeg","alt":""},{"url":"https://i.imgur.com/VxdkiMD.jpeg","alt":""}]