(2) AppInventor高级组件之JavaReflector系列教程 案例1 ASCII编码与解码

在appinventor中,一直以来都缺少自带ASCII码的编码与解码的功能,一般代替方法就是使用JSON数组存放ASCII表,使用查表法来实现ascii的编码与解码的难题。本章,我们将使用JavaReflector组件来解决ascii的编码解码的难题。

界面设计

界面设计

我们在上面的文本框输入一个字符或字符串,点击编码,编码结果将显示编码后都ascii代码。
我们在下面的文本框输入ascii代码,点击解码,解码结果将显示解码后都字符。

逻辑设计

接口定义

ASCII编码与解码的实现

我们先这样定义两个函数,先不写其中具体的实现,在以往我们一般是在其中放置查找列表/字典的相关逻辑,稍后我们将考虑在其中放置JavaReflector相关逻辑,这里我们先假设这两个块是可用的,先去写其他业务逻辑代码。

相关的业务逻辑代码

编码与解码的按钮事件

如上图,为编码与解码的按钮的点击事件的实现。

实现ascii的编码与解码的功能

BuildChar文档

根据文档所说,charData可以传入文本,也可以传入数字,最终都会构造出char数据。

据此,我们很容易写出以下代码,其中ToString(object)方法用于将任意对象转化为字符串表示形式,这里是将char数据转换为ai的字符串类型。


ascii解码

现在,我们来实现另一个函数

字符转ascii码(字符)

首先,我们需要将字符文本转化为char数据,如图


字符2char数据

char数据的包装数据类型为java.lang.Character,据此,java.lang.Character.hashCode()规定,char的包装对象的hashCode均为一个相等的代码,在0-127范围内,与ascii编码一一对应,所以我们可以编写如下图的代码


字符转ascii码(字符)

这样一个ASCII的编码与解码的一个案例就完成了。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容