(2) AppInventor高級組件之JavaReflector系列教程 案例1 ASCII編碼與解碼

在appinventor中,一直以來都缺少自帶ASCII碼的編碼與解碼的功能,一般代替方法就是使用JSON數(shù)組存放ASCII表,使用查表法來實現(xiàn)ascii的編碼與解碼的難題。本章,我們將使用JavaReflector組件來解決ascii的編碼解碼的難題。

界面設(shè)計

界面設(shè)計

我們在上面的文本框輸入一個字符或字符串,點擊編碼,編碼結(jié)果將顯示編碼后都ascii代碼。
我們在下面的文本框輸入ascii代碼,點擊解碼,解碼結(jié)果將顯示解碼后都字符。

邏輯設(shè)計

接口定義

ASCII編碼與解碼的實現(xiàn)

我們先這樣定義兩個函數(shù),先不寫其中具體的實現(xiàn),在以往我們一般是在其中放置查找列表/字典的相關(guān)邏輯,稍后我們將考慮在其中放置JavaReflector相關(guān)邏輯,這里我們先假設(shè)這兩個塊是可用的,先去寫其他業(yè)務邏輯代碼。

相關(guān)的業(yè)務邏輯代碼

編碼與解碼的按鈕事件

如上圖,為編碼與解碼的按鈕的點擊事件的實現(xiàn)。

實現(xiàn)ascii的編碼與解碼的功能

BuildChar文檔

根據(jù)文檔所說,charData可以傳入文本,也可以傳入數(shù)字,最終都會構(gòu)造出char數(shù)據(jù)。

據(jù)此,我們很容易寫出以下代碼,其中ToString(object)方法用于將任意對象轉(zhuǎn)化為字符串表示形式,這里是將char數(shù)據(jù)轉(zhuǎn)換為ai的字符串類型。


ascii解碼

現(xiàn)在,我們來實現(xiàn)另一個函數(shù)

字符轉(zhuǎn)ascii碼(字符)

首先,我們需要將字符文本轉(zhuǎn)化為char數(shù)據(jù),如圖


字符2char數(shù)據(jù)

char數(shù)據(jù)的包裝數(shù)據(jù)類型為java.lang.Character,據(jù)此,java.lang.Character.hashCode()規(guī)定,char的包裝對象的hashCode均為一個相等的代碼,在0-127范圍內(nèi),與ascii編碼一一對應,所以我們可以編寫如下圖的代碼


字符轉(zhuǎn)ascii碼(字符)

這樣一個ASCII的編碼與解碼的一個案例就完成了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容