hixon 发表于 2021-1-21 09:48:20

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

本帖最后由 hixon 于 2021-1-21 09:51 编辑

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

var data = ;
如果我们直接显示的话,它是以逗号分隔的10进制的字符串 "97,98,99,100"
util.console.log(data);


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


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



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

    var data = ;
    util.console.log(data);
   
    var str = util.arrayToHexString(data);
    util.console.log(str);
   
    str = str.replace(/\s+/g, '');
    util.console.log(str);

};

hixon 发表于 2021-1-26 19:11:53

最新版本的WeStudio已经支持数组转换16进制字符串时自定义分隔符号,如

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

下载最新版本:https://forum.wareexpress.com/forum.php?mod=forumdisplay&fid=36
页: [1]
查看完整版本: 如何去掉util.arrayToHexString返回的字符串中的所有空格?