我的解密例程的结果返回一个像这样的字节数组:
30303030303030310000000000000000
那应该转换为(int)00000001,但我无法摆脱尾随的0x00' s。什么是实现这一目标的最佳方式?
非常感谢任何帮助,谢谢!
答案 0 :(得分:1)
找到修复字节数组中尾随0x00的解决方法(替换或修剪不起作用):
public static String bytesToString(byte[] data) {
String dataOut = "";
for (int i = 0; i < data.length; i++) {
if (data[i] != 0x00)
dataOut += (char)data[i];
}
return dataOut;
}
答案 1 :(得分:0)
为什么不使用替换方法?
String foo = new String(myBytes);
foo = foo.replace((char)0, ''); // Character with zero
Integer result = Integer.valueOf(foo);
甚至更好,一个正则表达式过滤字符串,摆脱0-9范围内的任何东西。
String foo = new String(myBytes);
foo = foo.replace((char)0, ''); // Character with zero
Integer result = Integer.valueOf(foo);