我有一个大小为 200 的字节数组,其中接收到的数据是socket.receive()
. 假设数据包数据是“你好”。
int size = 200;
DatagramPacket packet = new DatagramPacket(new byte[size], size);
socket.receive(packet);
byte[] byte1 = packet.getData();
我试图将字节数组转换为字符串,字符串长度为 200,即使它只打印出 'hello' 字符串。
String result = new String(byte1); // .toString();
System.out.println(result.length()); --> 200
System.out.println(result); ---> hello
从 byte[] 转换字符串时,如何截断字符串以仅包含“hello”?
添加
根据马尔乔的回答,这解决了我的问题:
int packetLength = packet.getLength();
byte[] byte1 = packet.getData();
String result = new String(byte1);
return result.substring(0, packetLength);