WeStudio技术社区

 找回密码
 立即注册

快捷登录

QQ登录

只需一步,快速开始

查看: 981|回复: 1

如何去掉util.arrayToHexString返回的字符串中的所有空格?

[复制链接]

88

主题

123

帖子

918

积分

版主

Rank: 7Rank: 7Rank: 7

积分
918
发表于 2021-1-21 09:48:20 | 显示全部楼层 |阅读模式
本帖最后由 hixon 于 2021-1-21 09:51 编辑

如果串口收到一串数据 0x61 0x61 0x63 0x64, 我们想让它以16进制的形式显示,并且不含空格 (可以使用 stringObject.replace(regexp/substr,replacement))

var data = [0x61, 0x62, 0x63, 0x64];
如果我们直接显示的话,它是以逗号分隔的10进制的字符串 "97,98,99,100"
util.console.log(data);
dec-display.png

我们可以通过util.arrayToHexString来转换成以空格分隔的16进制字符串 "61 62 63 64"
var str = util.arrayToHexString(data);
util.console.log(str);
hex-display.png

最后可以通过JavaScript的字符串对象的replace方法去掉所有的空格(注意 /\s+/g 是正则表达式,不需要引号!)
str = str.replace(/\s+/g, '');
util.console.log(str);
hex-nospace.png


完整代码:
  1. ui.main.textButton_2.onRelease = function() {

  2.     var data = [0x61, 0x62, 0x63, 0x64];
  3.     util.console.log(data);
  4.    
  5.     var str = util.arrayToHexString(data);
  6.     util.console.log(str);
  7.    
  8.     str = str.replace(/\s+/g, '');
  9.     util.console.log(str);

  10. };
复制代码


回复

使用道具 举报

88

主题

123

帖子

918

积分

版主

Rank: 7Rank: 7Rank: 7

积分
918
 楼主| 发表于 2021-1-26 19:11:53 | 显示全部楼层
最新版本的WeStudio已经支持数组转换16进制字符串时自定义分隔符号,如

  1. var str = util.arrayToHexString(data, ''); // 使用空字符做为分隔符
复制代码


下载最新版本:https://forum.wareexpress.com/fo ... mdisplay&fid=36
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|物一世(北京)科技有限公司 ( 京ICP备20025895 )

GMT+8, 2022-8-19 18:58 , Processed in 0.089783 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表