繁体   English   中英

我如何摆脱“空白”

[英]How can I get rid of “white spaces”

我正在编写服务器-客户端项目。 服务器端用Java开发,客户端用Python开发。 最近,当我尝试通过套接字发送字符串时,服务器在其中获取了带有空格的字符串。 假设我发送:

1:user:password

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

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

每个字符之间都有空格。 我尝试使用String函数replaceAll("\\\\s","")replaceAll("\\\\s+","")但它们似乎没有用。 我将replaceAll("\\\\S","k")与大写S一起使用,并意识到它实际上向我显示了:

kkkkkkkkkkkkkkkkkkkkkkkkkkkkk

因此,我得出的结论是,那些“空格”并不是真正的空格,因为\\\\S代替了“不是空格字符的任何内容(包括字母和数字以及标点符号等)”。

我的问题是:这些空白是什么,我如何摆脱它们?

提前致谢。 抱歉,很长的帖子。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM