C#實現Java版的UrlEncode方法

以字符串「/v1/api/items」爲例,C#的HttpUtility.UrlEncode的結果是「%2fv1%2fapi%2fitems」,Java的URLEncoder.encode(value, "UTF-8")的結果是「%2Fv1%2Fapi%2Fitems」,有時候對接java版的接口時候用到加密這塊的話,就會很尷尬,愣是發送不成功,因此只能用C#造輪子了,實現方法以下:java

public static string encode(string str) { StringBuilder sb = new StringBuilder(); foreach (char c in str) { if (HttpUtility.UrlEncode(c.ToString(), Encoding.UTF8).Length > 1) { sb.Append(HttpUtility.UrlEncode(c.ToString(),Encoding.UTF8).ToUpper()); } else { sb.Append(c); } } return sb.ToString(); }
View Code
相關文章
相關標籤/搜索