遇到一个问题,通过queryString传参的时候,空格被encode成了+,而前端的空格对应的应该是%20。
搜了下为什么,看到W3C的空格会被转为+,而RFC2395则是%20。
而我使用的是HttpUtility.UrlEncode(),它是编码为+的。
然后HttpUtility.UrlPathEncode(),则是对Path进行编码,虽然会把空格转为%20,但是不会对+进行编码。
最终解是使用Uri.EscapeDataString()进行编码。
遇到一个问题,通过queryString传参的时候,空格被encode成了+,而前端的空格对应的应该是%20。
搜了下为什么,看到W3C的空格会被转为+,而RFC2395则是%20。
而我使用的是HttpUtility.UrlEncode(),它是编码为+的。
然后HttpUtility.UrlPathEncode(),则是对Path进行编码,虽然会把空格转为%20,但是不会对+进行编码。
最终解是使用Uri.EscapeDataString()进行编码。
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。