程序上一个容易忽略的转义字符bug,一个空格导致的大量排查

122 阅读1分钟

在公司开发做一个夸平台项目,将go打包成aar的安装sdk,很多场景会使用到跟跨语言打打交道通讯

在项目的运营中反馈一个bug

场景是这样的sdk需要传字符串 例如:aaa bbb ccc有空格间隙的

String[] strArray = {"aaa","bbb","ccc"};
String str = String.join(" ",strArray);
System.out.println(str);

显然已经达到接口传参的要求字符串用空格,但是个别安卓机型不行 例如 一加手机

解决的方法也是很简单,改成\u0020空格的转译字符即可

String[] strArray = {"aaa","bbb","ccc"};
String str = String.join("\u0020",strArray); 
System.out.println(str);

总结一下

虽然bug大多数都是很小的一个问题引起的,但是花了时间去解决,不管是使用了什么语言,如果能用转译字符最好用转译字符,这样会减少很多的bug排查量。