- 调用
Topic = UrlEncode(en.Msg, System.Text.Encoding.UTF8, false),
- 方法
/// <summary>
/// 小写转大写,特殊字符特换
/// </summary>
/// <param name="strSrc">原字符串</param>
/// <param name="encoding">编码方式</param>
/// <param name="bToUpper">是否转大写</param>
/// <returns></returns>
private static string UrlEncode(string strSrc, System.Text.Encoding encoding, bool bToUpper)
{
System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder();
for (int i = 0; i < strSrc.Length; i++)
{
string t = strSrc[i].ToString();
string k = HttpUtility.UrlEncode(t, encoding);
if (t == k)
{
stringBuilder.Append(t);
}
else
{
if (bToUpper)
stringBuilder.Append(k.ToUpper());
else
stringBuilder.Append(k);
}
}
if (bToUpper)
return stringBuilder.ToString().Replace("+", "%20");
else
return stringBuilder.ToString();
}