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

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

界面設(shè)計(jì)

界面設(shè)計(jì)

我們?cè)谏厦娴奈谋究蜉斎胍粋€(gè)字符或字符串,點(diǎn)擊編碼,編碼結(jié)果將顯示編碼后都ascii代碼。
我們?cè)谙旅娴奈谋究蜉斎隺scii代碼,點(diǎn)擊解碼,解碼結(jié)果將顯示解碼后都字符。

邏輯設(shè)計(jì)

接口定義

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

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

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

編碼與解碼的按鈕事件

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

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

BuildChar文檔

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

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


ascii解碼

現(xiàn)在,我們來實(shí)現(xiàn)另一個(gè)函數(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的包裝對(duì)象的hashCode均為一個(gè)相等的代碼,在0-127范圍內(nèi),與ascii編碼一一對(duì)應(yīng),所以我們可以編寫如下圖的代碼


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

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

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

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

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