我正在制作一个需要通过互联网接收数据的程序。它使用 DatagramSockets 并接收 DatagramPackets 这样做。这一切都很好,它接收到的字节数组正是我所期望的。
但是,当我尝试将字节数组转换为字符串,然后再转换为整数时,会发生非常奇怪的事情。
运行下面的代码会在该行给出 NumberFormatException parseInt
:
String length = new String(data, 1, data.length-1);
System.out.println("length = "+length);
size = Integer.parseInt(length);
System.out.println("size = "+size);
但是,当我检查 的内容时data
,我发现它只包含55,52,49,56,53,0,0,0,0,0,0,0,0,0,0,0,0
,这很好,它是字符串“74185”。不过,这会引发异常。
当我将“74185”硬编码为length
字符串时,一切正常。
这里可能出了什么问题?