不能用字符串中的+(加号)替换“”(空格)

时间:2018-09-07 14:21:18

标签: c# string api asp.net-web-api

我是c#的新手,在这里我要发送一个字符串作为API方法的参数。

在将API中的密码作为哈希字符串转换为数据库之前,然后我从angular 4检索密码并将其再次传递给API,同时在Angular 4中接收时,我得到了与数据库中存储的字符串相同的字符串。 / p>

当我将其传递给API时,在API中我收到了字符串,但字符串中有+号。

具体来说,它会丢失字符串中的所有 + 。我试图用+代替空格,但在此操作不起作用。

 string cc = mPasswordHash.Replace(" ", "+");

将字符串传递给API: AhU29yCXdtoaNyQ8rhUBZMz0MieMNBTUaaA04hO + pGzd / iK01sQx6ckMi8LqCdyphShlBt9QhLtCizcUsy708eU90GD7Qg ==

收到的字符串:

AhU29yCXdtoaNyQ8rhUBZMz0MieMNBTUaaA04hO(此处+不存在)pGzd / iK01sQx6ckMi8LqCdyphShlBt9QhLtCizcUsy708eU90GD7Qg ==

谁能帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

如果您可以控制发送的请求,则应该encode your URI。这样可以确保将特殊字符以标准化格式传输到目标服务器。 C#还内置了用于编码和解码字符串的功能:

System.Net.WebUtility.UrlEncode

System.Net.WebUtility.UrlDecode