Unicode 编码解码

1. Regex.Unescape(str);返回Unicode解码,非Unicode直接返回

/// <summary>
      /// 2.转为Unicode编码
      /// </summary>
      /// <param name="str"></param>
      /// <returns></returns>
  public static  string ToUnicode(string str)
    {
        var  strResult = new StringBuilder();
      if (string.IsNullOrEmpty(str)) return strResult.ToString();
      foreach (var  t in str)
      {
          strResult.Append("\\u");
          strResult.Append(((int)t).ToString("x"));
      }
      return strResult.ToString();
    }
      /// <summary>
      /// 3.Unicode 解码
      /// </summary>
      /// <param name="str"></param>
      /// <returns></returns>
      public static string EnUnicode(string str)
      {
          var  strResult = new StringBuilder();
          if (!string.IsNullOrEmpty(str))
          {
              string[] strlist = str.Replace("\\", "").Split('u');
              try
              {
                  for (int i = 1; i < strlist.Length; i++)
                  {
                      int charCode = Convert.ToInt32(strlist[i], 16);
                      strResult.Append((char)charCode);
                  }
              }
              catch (FormatException ex)
              {
                  return Regex.Unescape(str);
              }
          }
          return strResult.ToString();
      }

posted @ 2016-04-03 23:25  change_4_now  阅读(310)  评论(0编辑  收藏  举报