Java 如何判断字符串和字节[]是否相等

Java 如何判断字符串和字节[]是否相等,java,client-server,Java,Client Server,我已经建立了一个UDP聊天客户端。要将信息从客户端发送到服务器,我需要能够将客户端要发送的字符串转换为字节[]。我希望能够删除服务器端的客户端。当客户端向服务器发送某个消息时,服务器知道要从服务器中删除它们 但是,当我通过连接发送字节[]时,将其转换为字符串,并将其与将从连接终止客户端的字符串进行比较,它永远不会是相同的。我只想能够收到发送的消息,并且能够告诉客户机希望服务器终止其客户机IP ad端口的日志。将字节数组转换为字符串,并使用string.equals()方法 试着这样做: byte

我已经建立了一个UDP聊天客户端。要将信息从客户端发送到服务器,我需要能够将客户端要发送的字符串转换为字节[]。我希望能够删除服务器端的客户端。当客户端向服务器发送某个消息时,服务器知道要从服务器中删除它们


但是,当我通过连接发送字节[]时,将其转换为字符串,并将其与将从连接终止客户端的字符串进行比较,它永远不会是相同的。我只想能够收到发送的消息,并且能够告诉客户机希望服务器终止其客户机IP ad端口的日志。

将字节数组转换为字符串,并使用string.equals()方法


试着这样做:

byte[] bytes = ...;
String myString = ...;
String byteString = new String(bytes, <charsetName>);

byteString.equals(myString);
byte[]字节=。。。;
字符串myString=。。。;
String byteString=新字符串(字节,);
byteString.equals(myString);

您可以查看字符集名称

您使用了什么编码?'DatagramPacket packet=newDatagrampacket(buf,buf.length);字节[]dataToSend=packet.getData();消息=新字符串(dataToSend);if(message.equals(“Gone.”){}//这永远不会是真的,即使消息不见了。@user1504257您询问字符串到字节的转换,反之亦然。给我们看看相关的代码。不是创建DatagramPacket的代码,这是不相关的。我很恼火人们建议你转换成字符串,而你明确地说你已经尝试过了。正如@johnchen902所建议的,请确保您正在使用正确的编码(UTF-8等)将字节转换为字符串@eldris我如何知道我当前使用的编码我尝试过,但从来都不是这样。byte[]值似乎每次都在更改,即使它是相同的字符串。
byte[] bytes = ...;
String myString = ...;
String byteString = new String(bytes, <charsetName>);

byteString.equals(myString);