C#的urlencode

  遇到一个问题,通过queryString传参的时候,空格被encode成了+,而前端的空格对应的应该是%20。

  搜了下为什么,看到W3C的空格会被转为+,而RFC2395则是%20。

  而我使用的是HttpUtility.UrlEncode(),它是编码为+的。

  然后HttpUtility.UrlPathEncode(),则是对Path进行编码,虽然会把空格转为%20,但是不会对+进行编码。

  最终解是使用Uri.EscapeDataString()进行编码。

posted @ 2020-10-09 09:22  陈惊蛰  阅读(6112)  评论(0编辑  收藏  举报