WebService返回的字符串为什么会自动屏蔽"\r"?

IMGGTOO 2008-03-27 04:46:21
一个最简单的WebService:
[WebMethod]
public string TestWS()
{
string strTest = "ABCD\r\nEFGH\r\n";
return strTest;
}

在另外一个程序(VC,C#程序,我都测试过)中调用这个WebService之后发现,返回值中“\r”被去掉,变成了“ABCD\nEFGH\n”,这是为什么?有哪位老大知道,还请帮忙给解释下,谢谢!
...全文
1514 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
IMGGTOO 2008-04-02
  • 打赏
  • 举报
回复
虽然暂时没有找到我满意的答案,但是还是感谢大家的帮助。我另开一贴,请各位来接分,谢谢!
alanfoxye ,lcddjyy ,awuzi

http://topic.csdn.net/u/20080402/09/f27aa213-8995-44fe-a129-51c2e93e33e4.html
IMGGTOO 2008-04-02
  • 打赏
  • 举报
回复
我日,无满意结贴,就不能给分了?
IMGGTOO 2008-03-31
  • 打赏
  • 举报
回复
那如果不是在.net框架下,该如何做呢?
alanfoxye 2008-03-31
  • 打赏
  • 举报
回复
我没有试验过,你用C++取过HtmlEncode后的字符串没有?具体取出来是什么?应该可以自行解码吧
IMGGTOO 2008-03-31
  • 打赏
  • 举报
回复
在屏幕上打印的效果,确实一样;在文件中,是不一样的,\r\n,是回车,但是\n,就是一个黑方点。
awuzi 2008-03-31
  • 打赏
  • 举报
回复
\r\n和\n输出出的结果应该是一样的
alanfoxye 2008-03-28
  • 打赏
  • 举报
回复
如果是在C++中调用:

如果是在.net框架下的VC++,那么是一样的,用HttpUtility::HtmlDecode方法。
IMGGTOO 2008-03-28
  • 打赏
  • 举报
回复
CSDN昨天晚上和今天早上好像出问题了,我一直都打不开。

alanfoxye ,你提到的方法,在用C#调用C#谢的WebService时,是可以的,但是如果是在C++中调用,该如何解码?


lcddjyy ,你提到的方法。我没有试过,晚点去测试下,不过,我想要的,就是“\r”这个转义字符,而不是“\r”这个普通的字符串。同样是转义字符,为什么“\n”没有这种问题?
lcddjyy 2008-03-27
  • 打赏
  • 举报
回复
不知道我的浏览器出了毛病,就是看不到我回复的贴子!
lcddjyy 2008-03-27
  • 打赏
  • 举报
回复
\符号是转义操作符。例如:
如果返回的字符串需要\r\n 就按下面的代码写,试试看

	[WebMethod]
public string TestWS()
{
string strTest = "ABCD\\r\\nEFGH\\r\\n";
return strTest;
}


lcddjyy 2008-03-27
  • 打赏
  • 举报
回复
\符号是转义操作符。例如:

    \n 换行符

    \f 分页符

    \r 回车

    \t 制表符

    \v 垂直制表符

    \\ 匹配"\"

    \/ 匹配"/"

如果返回的字符串需要\r\n 就按下面的代码写,试试看

	[WebMethod]
public string TestWS()
{
string strTest = "ABCD\\r\\nEFGH\\r\\n";
return strTest;
}


lcddjyy 2008-03-27
  • 打赏
  • 举报
回复
\符号是转义操作符。例如:

    \n 换行符

    \f 分页符

    \r 回车

    \t 制表符

    \v 垂直制表符

    \\ 匹配"\"

    \/ 匹配"/"

如果返回的字符串需要\r\n 就按下面的代码写,试试看

	[WebMethod]
public string TestWS()
{
string strTest = "ABCD\\r\\nEFGH\\r\\n";
return strTest;
}


lcddjyy 2008-03-27
  • 打赏
  • 举报
回复
\符号是转义操作符。例如:

    \n 换行符

    \f 分页符

    \r 回车

    \t 制表符

    \v 垂直制表符

    \\ 匹配"\"

    \/ 匹配"/"

如果返回的字符串需要\r\n 就按下面的代码写,试试看

	[WebMethod]
public string TestWS()
{
string strTest = "ABCD\\r\\nEFGH\\r\\n";
return strTest;
}


lcddjyy 2008-03-27
  • 打赏
  • 举报
回复
\符号是转义操作符。例如:

    \n 换行符

    \f 分页符

    \r 回车

    \t 制表符

    \v 垂直制表符

    \\ 匹配"\"

    \/ 匹配"/"

如果返回的字符串需要\r\n 就按下面的代码写,试试看

	[WebMethod]
public string TestWS()
{
string strTest = "ABCD\\r\\nEFGH\\r\\n";
return strTest;
}


lcddjyy 2008-03-27
  • 打赏
  • 举报
回复
\符号是转义操作符。例如:

    \n 换行符

    \f 分页符

    \r 回车

    \t 制表符

    \v 垂直制表符

    \\ 匹配"\"

    \/ 匹配"/"

如果返回的字符串需要\r\n 就按下面的代码写,试试看

	[WebMethod]
public string TestWS()
{
string strTest = "ABCD\\r\\nEFGH\\r\\n";
return strTest;
}



lcddjyy 2008-03-27
  • 打赏
  • 举报
回复
\符号是转义操作符。例如:

    \n 换行符

    \f 分页符

    \r 回车

    \t 制表符

    \v 垂直制表符

    \\ 匹配"\"

    \/ 匹配"/"

如果返回的字符串需要\r\n 就按下面的代码写,试试看

	[WebMethod]
public string TestWS()
{
string strTest = "ABCD\\r\\nEFGH\\r\\n";
return strTest;
}



lcddjyy 2008-03-27
  • 打赏
  • 举报
回复
\符号是转义操作符。例如:

    \n 换行符

    \f 分页符

    \r 回车

    \t 制表符

    \v 垂直制表符

    \\ 匹配"\"

    \/ 匹配"/"

如果返回的字符串需要\r\n 就按下面的代码写,试试看

	[WebMethod]
public string TestWS()
{
string strTest = "ABCD\\r\\nEFGH\\r\\n";
return strTest;
}



alanfoxye 2008-03-27
  • 打赏
  • 举报
回复
用System.Web(System.Web.dll)中的HttpUtility的htmlencode和htmldecode

要不然在Http传输过程中会损失信息

12,162

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧