清泛IT社区App Inventor 2 中文社区

搜索

扫码访问移动社区 移动社区,您的掌上技术专家

关注我,精彩不错过! 关注我,精彩不错过!

扫码安装最新版AI伴侣 最新版AI伴侣v2.74

Aia Store .aia 源码一站式解决方案 发布日志AI2连接测试ai2Starter模拟器

App Inventor 2 离线版AI2 拓展接入DeepSeek VIP会员 享专有教程,免费赠送基础版*技术支持服务! AI2入门必读中文文档中文教程IoT专题

AsciiConversion 拓展问题:字母开头的会出现“C2”非预期字符

查看数: 2472 | 评论数: 7 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2024-09-23 20:44

正文摘要:

做TCP通讯时遇到的问题,主要问题是:列表如果是字母开头就会出问题

回复

App Inventor 2 发表于 2024-12-26 14:39:05
yyszx 发表于 2024-12-16 18:08
楼主解决了TCP传二进数制的问题吗?

Socket拓展已经添加了二进制数据的发送接口,并测试通过,详见:https://www.fun123.cn/reference/ ... ctivity.html#Socket
测试结果如下:

App Inventor 2 发表于 2024-12-16 20:58:26
yyszx 发表于 2024-12-16 18:08
楼主解决了TCP传二进数制的问题吗?

仿照ble发送二进制的函数写了一个,还没测试通过就搁置了。你这边可以学写一下拓展,不难,我可以把源码给你,到时候你研究改进一下再分享给我,你看怎么样?
https://mp.weixin.qq.com/s/QnYL1 ... 7215&lang=zh_CN
yyszx 发表于 2024-12-16 18:08:25
楼主解决了TCP传二进数制的问题吗?
yyszx 发表于 2024-09-27 09:36:55
App Inventor 2  发表于 2024-09-26 15:02
是的,目前只能发送文本。hexaStringMode为true模式,也只是把二进制表面上转成字符串发送,如:0x012 —> ...

期待好消息
App Inventor 2 发表于 2024-09-26 15:02:17
yyszx 发表于 2024-09-25 21:12
我测试了几个TCP插件,基本都不支持hex透传,只支持assic数据传输

是的,目前只能发送文本。hexaStringMode为true模式,也只是把二进制表面上转成字符串发送,如:0x012 —> “303132”。

也许可以考虑2个方向:
1、字节数组,我后面也会试试
2、考虑改造拓展,加一个二进制接口
yyszx 发表于 2024-09-25 21:12:24
我测试了几个TCP插件,基本都不支持hex透传,只支持assic数据传输
App Inventor 2 发表于 2024-09-24 21:20:15

AsciiConversion 拓展问题:字母开头的会出现“C2”非预期字符

测试了一下:
1、ClientSocket拓展默认是字符串模式,可以通过hexaStringMode设置为二进制模式,此时需要传入二进制数组,而原生并没有这个数据结构,使用拓展可以实现:UrsAI2ByteArray 字节数组扩展:读写二进制数据 - App Inventor 2 拓展

2、字符串模式下,使用Ascii拓展将二进制列表转换成字符串再发送,当二进制为0~127时,能够正常转换发送并还原二进制值,但是 >127的二进制还原后前面多了一个C2字节,大概是Ascii拓展内部判断它不是有效ASCII码时加上的。

3、0~127 是有效的ASCII码范围。128~255 是拓展码,是一些特殊字符,一般很少使用。
© 2025 tsingfun.com, Inc.  沪ICP备2020034476号-1  沪公网安备31011702000040号

GMT+8, 2025-04-02 17:34 , Processed in 0.029232 second(s), 43 queries .