一、问题
- 客户端拉取服务游戏配置文件,通过Url下载图片和视频,但是Url连接中包含转义字符,比如说:空格、中文等
转义的特殊字符的完整列表
字符 | ASCII编码 | 描述 |
---|---|---|
% | %25 | 百分号,用于引用元数据。 |
$ | %24 | 美元符号,用于引用属性。 |
@ | %40 | At 符号,用于引用项列表。 |
( | %28 | 左圆括号,用在列表中。 |
) | %29 | 右圆括号,用在列表中。 |
; | %3B | 分号,列表分隔符。 |
? | %3F | 问号,描述项的“Include/Exclude”节中的文件规范时使用的通配符。 |
* | %2A | 星号,描述项的“Include/Exclude”节中的文件规范时使用的通配符。 |
二、解决
- 拉取到的Url链接是经过服务器Encode过的,所以客户端要相应的堆Url执行Decode方法
- 执行代码
System.Net.WebUtility.UrlDecode(url);
解码前
https://*******/_%E5%90%88%E6%88%90-12_00001.png
解码后
https://*******/_合成-12_00001.png
三、补充
WebUtility类:官方文档