程序中需要把数据转换为16进制进行转换,然后进行数据处理和计算。计算后有的数据需要转为String,在java中不存在结束符的规定,会直接打印出结束符,也就是乱码(结束符实际就是0x00,在计算时由于位数不足进行填充造成的)。下面进行处理:
1、这样理解起来简单,就是过滤由于填充生成的00数据
byte[] t={0x00};
string.replaceAll(new String(t), "");
2、系统转义就简便了.
string.replaceAll(new String("\0"), "");
\0就是代表的00,大家可以把String转换为byte数组输出验证一下。