|
发表于 2021-1-15 11:33:23
|
显示全部楼层
这个问题是因为ssid处理的时候字符串越界导致系统进程崩溃。
- case 'x':
- i++;
- try {
- val = Integer.parseInt(asciiEncoded.substring(i, i + 2), HEX_RADIX);
- } catch (NumberFormatException e) {
- val = -1;
- }
- if (val < 0) {
- val = Character.digit(asciiEncoded.charAt(i), HEX_RADIX);
- if (val < 0) break;
- octets.write(val);
- i++;
- } else {
- octets.write(val);
- i += 2;
- }
- break;
复制代码
大概意思是字符串转hex的时候,这个字符串里要是有未识别的编码,就以“\x32”的格式表示,但是这个ssid里有“\x”没有后面的32。
这种问题不应该出现的,目前猜测是模块本身处理ssid的时候对特殊字符没处理好。
可以查查周围有没有特殊字符的wifi,也可以换个地点测一下。 |
|