我想要它的输出为大写.这是我在Server.UrlEncode(“http://”)上得到的:
http%3a%2f%2f
但是我需要:
http%3A%2F%2F
C#中是否有内置解决方案?
编码的URL将作为签名基础字符串(输入到签名算法)来创建摘要(散列).
然后,哈希将被其他系统(java,PHP等)验证,所以他们需要首先通过签名重建来重新创建哈希.
解决方法
这将大写字符串中所有转义的字符.
string url = "http://whatever.com/something"; string lower = Server.UrlEncode(url); Regex reg = new Regex(@"%[a-f0-9]{2}"); string upper = reg.Replace(lower,m => m.Value.ToUpperInvariant());