项目场景:
用扫码枪解析二维码内容。
问题描述
现场扫描二维码内容后,调用接口时,总是将加号“+”替换成空格“ ”
原字符串:1+FVJmNcKy4NRjvpdN1os50sAcbn7os
调用接口时:1 FVJmNcKy4NRjvpdN1os50sAcbn7os
原因分析:
字符串未解码。
解决方案:
采用HttpUtility.UrlEncode(string s)对内容进行编码,然后用Uri.EscapeDataString(string s)来处理,问题解决。
代码如下:
var strTest = "1 FVJmNcKy4NRjvpdN1os50sAcbn7os";
var a = HttpUtility.UrlEncode(strTest);
var b = HttpUtility.UrlDecode(strTest);
var c =Uri.EscapeDataString(strTest);
var d = Uri.EscapeDataString(HttpUtility.UrlEncode(strTest));
Console.WriteLine($"a is {a}");
Console.WriteLine($"b is {b}");
Console.WriteLine($"c is {c}");
Console.WriteLine($"d is {d}");