如何去掉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);
};
最新版本的WeStudio已经支持数组转换16进制字符串时自定义分隔符号,如
var str = util.arrayToHexString(data, ''); // 使用空字符做为分隔符
下载最新版本:https://forum.wareexpress.com/forum.php?mod=forumdisplay&fid=36
页:
[1]