我怎样才能摆脱“白色空间”

时间:2014-01-23 04:14:25

标签: java python string sockets whitespace

我正在编写服务器 - 客户端项目。服务器端是用Java开发的,客户端用Python开发的。最近,当我尝试在套接字上发送一个字符串时,服务器获取它的空格。假设我发送:

1:user:password

在服务器端我使用字符串拆分将这一个字符串转换为3,第一个字符串(在本例中为“1”)将告诉服务器如何处理其余字符串(用户名和密码)。现在的问题是,当我从服务器端的套接字打印出来的内容时,我会得到类似的结果:

1 : u s e r : p a s s w o r d 

每个角色之间都有空格。我尝试使用字符串函数replaceAll("\\s","")replaceAll("\\s+","")但它们似乎不起作用。我用replaceAll("\\S","k")使用了大写S,并意识到它实际上向我展示了:

kkkkkkkkkkkkkkkkkkkkkkkkkkkkk

所以我得出结论,那些“白色空间”并不是真正的白色空间,因为\\S取代了“不是空格字符的任何东西(包括字母和数字,以及标点符号)等等)”。

我的问题是:那些空白是什么,我怎么能摆脱它们呢?

提前致谢。对不起,很长的帖子。

1 个答案:

答案 0 :(得分:6)

你最有可能发送UTF-16(可能是UTF-16LE),但是将其解码为UTF-8。 “空格”实际上是空值(零字节)。您需要在客户端和服务器上使用相同的字符编码。

相关问题