将服务器端字符读取至android的文本控件,换行符变成了黑方块的原因

aluminiumfoil 2010-04-17

今天试验android通过http协议发送请求,然后将服务器响应显示在EditText上的时候,发现后面总是多了个黑方块。(服务器端是tomcat+servlet,部署在windows机上).

刚开始一直没想明白,后来意识到android是linux的分支,那它的换行符是"\n",而服务器端是部署在win上的,换行符是“\r\n”,这就找到了问题的原因:android只读取一个“\n”做为它的换行符,剩下多余的“\r”就成了多余的字符了。

所以在win下做主机的话,要么换行符不要在响应中添加,否则就做如下简单替换:

Stringresponse=.........(假设已经将响应转换为字符串赋值给变量response)

response=response.replace("\r\n","\n");

这样,response字符串就正常的显示在android的文本控件上了。

相关推荐