C#中WebService里的回车符"\r"丢失问题

本文探讨了使用WebService传输包含特殊字符 的数据时,在服务端接收到的数据出现 字符丢失的现象。该问题源于XML规范对于行结束符的处理方式,并介绍了一种通过Base64编码解决此问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

假如有定义如下的WebService方法

 

 

ContractedBlock.gif Code

 

如果传送的字符串text中包含有"回车换行"字符,也就是"\r\n",那么在C#中经WebService传送后.在服务端接收到的数据中"\r"将会不见掉!!也就是本来"\r\n"中有两个字节位的却只有"\n"一个字节位.

 

今天碰到这个BUG真郁闷(发送前的长度与接收到的长度不相同,导致最终的签名不符合,最后只能将数据Base64才解决问题)...

 

8月16日19点后注: 根据武眉博<活靶子.Net>给的链接.知道产生字符丢失的原因是因为XML规范所定.在此多谢:)

http://xml.coverpages.org/xml10-chinese.html#sec-line-ends

ContractedBlock.gif Code
本文转自Kingthy博客园博客,原文链接:http://www.cnblogs.com/kingthy/archive/2008/08/16/1269271.html ,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值