我发现所有字符串操作似乎都不起作用的问题:
String received_message = new String(lmessage, 0, packet.getLength());
注意:received_message是" start.hello.end"
if (received_message.startsWith("start.") && received_message.endsWith(".end"))
{
result = 1;
}
received_message = received_message.replace("start.", "");
received_message = received_message.replace(".end", "");
结果:
结果为0,receive_message仍为" start.hello.end"
-
但这是正常的:
if (received_message.startsWith("s") && received_message.endsWith("d"))
{
result = 1;
}
received_message = received_message.replace("s", "");
received_message = received_message.replace(".", "");
如果我用一个Char来实现这个功能,那就好了。
如何让它适用于整个字符串?
答案 0 :(得分:0)
问题在于编码。 Windows服务器使用Unicode,Android系统使用UTF-16作为标准。所以String包含一些不可见的字符..