今天遇到了见鬼的问题,
是这样,我要把我的四个参数:
2021-02-18 12:19:08
13632272448
RFID_02
30 08 33 B2 DD D9 01 40 00 00 00 00
拼接成 http://localhost/XXX?a=xxx&b=xxx&c=xxx&d=xxx的形式,
我先将空格使用str.replace(" ","+")替换,
然而意外发生了!!
访问结果变成了这样:
当然访问失败了,而且将%26替换&也始终无果。
最后将参数位置换一下,使30 08 33 B2 DD D9 01 40 00 00 00 00 放到最后解决了这个问题,
不知道为什么参数后面如果有很多个0的话,会变成这个样子。
补:原因找到了,因为数据是从硬件处获取的,设置缓冲对象大小为1000,然而事实上有效数据只有40,然后就补了960个空格。
我使用*号做了分割,导致最后一个元素长度为960+ ......... ,只需要使用str.trim() 问题就能解决了..... 被自己蠢哭