我在写服务器客户端项目。服务器端用Java开发,客户端用Python开发。最近,当我试图通过套接字发送一个字符串时,服务器得到的字符串中有空格。假设我发送:
1:user:password
在服务器端,我使用字符串分割将这一个字符串转换为3,第一个字符串(在本例中为“1”)将告诉服务器如何处理其余的字符串(用户名和密码)。现在的问题是,当我打印从服务器端的套接字获取的内容时,我会得到如下所示:
^{pr2}$每个字符之间有空格。我试图使用字符串函数replaceAll("\\s","")
和{replaceAll("\\S","k")
与大写字母S一起使用,并意识到它实际上向我展示了:
kkkkkkkkkkkkkkkkkkkkkkkkkkkkk
所以我得出结论,那些“空白”并不是真正的空白,因为\\S
代替了“任何不是空格字符的东西(包括字母和数字,以及标点符号等)”。在
我的问题是:这些空白是什么?我怎样才能去掉它们?在
提前谢谢。抱歉给你发了这么长的信。在
很可能您发送的是UTF-16(可能是UTF-16LE),但将其解码为UTF-8。“空格”实际上是空的(零字节)。您需要在客户端和服务器上使用相同的字符编码。在
相关问题 更多 >
编程相关推荐