|
本帖最后由 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);
我们可以通过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 = [0x61, 0x62, 0x63, 0x64];
- util.console.log(data);
-
- var str = util.arrayToHexString(data);
- util.console.log(str);
-
- str = str.replace(/\s+/g, '');
- util.console.log(str);
- };
复制代码
|
|