你的位置:首页 > ASP.net教程

[ASP.net教程]StrHelper


public class StrHelper{  private static string passWord;	//加密字符串  /// <summary>  /// 判断输入是否数字  /// </summary>  /// <param name="num">要判断的字符串</param>  /// <returns></returns>  static public bool VldInt(string num)  {    #region    int ResultNum;    return int.TryParse(num, out ResultNum);    #endregion  }  /// <summary>  /// 返回文本编辑器替换后的字符串  /// </summary>  /// <param name="str">要替换的字符串</param>  /// <returns></returns>  static public string GetHtmlEditReplace(string str)  {    #region    return str.Replace("'", "’").Replace(" ", " ").Replace(",", ",").Replace("%", "%").      Replace("script", "").Replace(".js", "");    #endregion  }  /// <summary>  /// 截取字符串函数  /// </summary>  /// <param name="str">所要截取的字符串</param>  /// <param name="num">截取字符串的长度</param>  /// <returns></returns>  static public string GetSubString(string str, int num)  {    #region    return (str.Length > num) ? str.Substring(0, num) + "..." : str;    #endregion  }  /// <summary>  /// 截取字符串优化版  /// </summary>  /// <param name="stringToSub">所要截取的字符串</param>  /// <param name="length">截取字符串的长度</param>  /// <returns></returns>  public static string GetFirstString(string stringToSub, int length)  {    #region    var regex = new Regex("[\u4e00-\u9fa5]+", RegexOptions.Compiled);    var stringChar = stringToSub.ToCharArray();    var sb = new StringBuilder();    var nLength = 0;    var isCut = false;    for (var i = 0; i < stringChar.Length; i++)    {      if (regex.IsMatch((stringChar[i]).ToString()))      {        sb.Append(stringChar[i]);        nLength += 2;      }      else      {        sb.Append(stringChar[i]);        nLength = nLength + 1;      }      if (nLength > length)      {        isCut = true;        break;      }    }    if (isCut)      return sb.ToString() + "..";    else      return sb.ToString();    #endregion  }   /// <summary>  /// 过滤输入信息  /// </summary>  /// <param name="text">内容</param>  /// <param name="maxLength">最大长度</param>  /// <returns></returns>  public static string InputText(string text, int maxLength)  {    #region    text = text.Trim();    if (string.IsNullOrEmpty(text))      return string.Empty;    if (text.Length > maxLength)      text = text.Substring(0, maxLength);    text = Regex.Replace(text, "[\\s]{2,}", " ");	//two or more spaces    text = Regex.Replace(text, "(<[b|B][r|R]/*>)+|(<[p|P](.|\\n)*?>)", "\n");	//<br>    text = Regex.Replace(text, "(\\s*&[n|N][b|B][s|S][p|P];\\s*)+", " ");	//     text = Regex.Replace(text, "<(.|\\n)*?>", string.Empty);	//any other tags    text = text.Replace("'", "''");    return text;    #endregion  }  /// <summary>  /// 生成随机数  /// </summary>  /// <returns></returns>  private string GenerateCheckCode()  {    #region    int number;    char code;    string checkCode = String.Empty;    System.Random random = new Random();    for (int i = 0; i < 5; i++)    {      number = random.Next();      if (number % 2 == 0)        code = (char)('0' + (char)(number % 10));      else        code = (char)('A' + (char)(number % 26));      checkCode += code.ToString();    }    HttpContext.Current.Response.Cookies.Add(new HttpCookie("CheckCode", checkCode));    return checkCode;    #endregion  }  /// <summary>  /// 生成验证码图片  /// </summary>  public void CreateCheckCodeImage()  {    #region    string checkCode = GenerateCheckCode();    if (checkCode == null || checkCode.Trim() == String.Empty)      return;    System.Drawing.Bitmap image = new System.Drawing.Bitmap((int)Math.Ceiling((checkCode.Length * 12.5)), 22);    Graphics g = Graphics.FromImage(image);    try    {      //生成随机生成器      Random random = new Random();      //清空图片背景色      g.Clear(Color.White);      //画图片的背景噪音线      for (int i = 0; i < 25; i++)      {        int x1 = random.Next(image.Width);        int x2 = random.Next(image.Width);        int y1 = random.Next(image.Height);        int y2 = random.Next(image.Height);        g.DrawLine(new Pen(Color.Silver), x1, y1, x2, y2);      }      var font = new Font("Arial", 12, (FontStyle.Bold | FontStyle.Italic));      System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.DarkRed, 1.2f, true);      g.DrawString(checkCode, font, brush, 2, 2);      //画图片的前景噪音点      for (int i = 0; i < 150; i++)      {        int x = random.Next(image.Width);        int y = random.Next(image.Height);        image.SetPixel(x, y, Color.FromArgb(random.Next()));      }      //画图片的边框线      g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1);      var ms = new MemoryStream();      image.Save(ms, ImageFormat.Gif);      HttpContext.Current.Response.ClearContent();      HttpContext.Current.Response.ContentType = "image/Gif";      HttpContext.Current.Response.BinaryWrite(ms.ToArray());    }    finally    {      g.Dispose();      image.Dispose();    }    #endregion  }  #region 生成指定位数随机数  private static char[] constant =      {      '0','1','2','3','4','5','6','7','8','9',      'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',      'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'      };  public static string GenerateRandom(int Length)  {    var newRandom = new StringBuilder(62);    var rd = new Random();    for (int i = 0; i < Length; i++)    {      newRandom.Append(constant[rd.Next(62)]);    }    return newRandom.ToString();  }  public static string GetNumRandom(int Length)  {    var newRandom = new StringBuilder(10);    char[] NumStr={'0','1','2','3','4','5','6','7','8','9'};    var rd = new Random();    for (int i = 0; i < Length; i++)    {      newRandom.Append(constant[rd.Next(10)]);    }    return newRandom.ToString();  }  #endregion  /// <summary>  /// 获取汉字第一个拼音  /// </summary>  /// <param name="input"></param>  /// <returns></returns>  static public string getSpells(string input)  {    #region    int len = input.Length;    string reVal = "";    for (int i = 0; i < len; i++)    {      reVal += getSpell(input.Substring(i, 1));    }    return reVal;    #endregion  }  static public string getSpell(string cn)  {    #region    byte[] arrCN = Encoding.Default.GetBytes(cn);    if (arrCN.Length > 1)    {      int area = (short)arrCN[0];      int pos = (short)arrCN[1];      int code = (area << 8) + pos;      int[] areacode = { 45217, 45253, 45761, 46318, 46826, 47010, 47297, 47614, 48119, 48119, 49062, 49324, 49896, 50371, 50614, 50622, 50906, 51387, 51446, 52218, 52698, 52698, 52698, 52980, 53689, 54481 };      for (int i = 0; i < 26; i++)      {        int max = 55290;        if (i != 25) max = areacode[i + 1];        if (areacode[i] <= code && code < max)        {          return Encoding.Default.GetString(new byte[] { (byte)(65 + i) });        }      }      return "?";    }    else return cn;    #endregion  }  /// <summary>  /// 半角转全角  /// </summary>  /// <param name="BJstr"></param>  /// <returns></returns>  static public string GetQuanJiao(string BJstr)  {    #region    char[] c = BJstr.ToCharArray();    for (int i = 0; i < c.Length; i++)    {      byte[] b = System.Text.Encoding.Unicode.GetBytes(c, i, 1);      if (b.Length == 2)      {        if (b[1] == 0)        {          b[0] = (byte)(b[0] - 32);          b[1] = 255;          c[i] = System.Text.Encoding.Unicode.GetChars(b)[0];        }      }    }    string strNew = new string(c);    return strNew;    #endregion  }  /// <summary>  /// 全角转半角  /// </summary>  /// <param name="QJstr"></param>  /// <returns></returns>  static public string GetBanJiao(string QJstr)  {    #region    char[] c = QJstr.ToCharArray();    for (int i = 0; i < c.Length; i++)    {      byte[] b = System.Text.Encoding.Unicode.GetBytes(c, i, 1);      if (b.Length == 2)      {        if (b[1] == 255)        {          b[0] = (byte)(b[0] + 32);          b[1] = 0;          c[i] = System.Text.Encoding.Unicode.GetChars(b)[0];        }      }    }    string strNew = new string(c);    return strNew;    #endregion  }  #region 加密的类型  /// <summary>  /// 加密的类型  /// </summary>  public enum PasswordType  {    SHA1,    MD5  }  #endregion      /// <summary>  /// 字符串加密  /// </summary>  /// <param name="PasswordString">要加密的字符串</param>  /// <param name="PasswordFormat">要加密的类别</param>  /// <returns></returns>  static public string EncryptPassword(string PasswordString, PasswordType PasswordFormat)  {    #region    switch (PasswordFormat)    {      case PasswordType.SHA1:        {          passWord = FormsAuthentication.HashPasswordForStoringInConfigFile(PasswordString, "SHA1");          break;        }      case PasswordType.MD5:        {          passWord = FormsAuthentication.HashPasswordForStoringInConfigFile(PasswordString, "MD5").Substring(8, 16).ToLower();          break;        }      default:        {          passWord = string.Empty;          break;        }    }    return passWord;    #endregion  }  /// <summary>  /// 字符串转换为 html  /// </summary>  /// <param name="str"></param>  /// <returns></returns>  public static string StringToHtml(string str)  {    #region    str = str.Replace("&", "&");    str = str.Replace(" ", " ");    str = str.Replace("'", "''");    str = str.Replace("\"", """);    str = str.Replace(" ", " ");    str = str.Replace("<", "<");    str = str.Replace(">", ">");    str = str.Replace("\r\n", "<br>");    return str;    #endregion  }  /// <summary>  /// html转换成字符串  /// </summary>  /// <param name="strHtml"></param>  /// <returns></returns>  public static string HtmlToString(string strHtml)  {    #region    strHtml = strHtml.Replace("<br>", "\r\n");    strHtml = strHtml.Replace(@"<br />", "\r\n");    strHtml = strHtml.Replace(@"<br/>", "\r\n");    strHtml = strHtml.Replace(">", ">");    strHtml = strHtml.Replace("<", "<");    strHtml = strHtml.Replace(" ", " ");    strHtml = strHtml.Replace(""", "\"");    strHtml = Regex.Replace(strHtml, @"<\/?[^>]+>", "", RegexOptions.IgnoreCase);    return strHtml;    #endregion  }  /// <summary>  /// 获得中文星期表示形式  /// </summary>  /// <returns></returns>  public static string GetChineseWeek(DateTime t)  {    #region    string week = "";    switch (t.DayOfWeek)    {      case DayOfWeek.Monday:        week = "一";        break;      case DayOfWeek.Tuesday:        week = "二";        break;      case DayOfWeek.Wednesday:        week = "三";        break;      case DayOfWeek.Thursday:        week = "四";        break;      case DayOfWeek.Friday:        week = "五";        break;      case DayOfWeek.Saturday:        week = "六";        break;      case DayOfWeek.Sunday:        week = "日";        break;    }    return "星期" + week;    #endregion  }  /// <summary>  /// 生成日期随机码  /// </summary>  /// <returns></returns>  public static string GetRamCode()  {    #region    return DateTime.Now.ToString("yyyyMMddHHmmssff");     #endregion  }  /// <summary>  /// 生成指定长度的字符串,即生成strLong个str字符串  /// </summary>  /// <param name="strLong">生成的长度</param>  /// <param name="str">以str生成字符串</param>  /// <returns></returns>  public static string StringOfChar(int strLong, string str)  {    #region     string ReturnStr = string.Empty;    for (int i = 0; i < strLong; i++)    {      ReturnStr += str;    }        return ReturnStr;     #endregion  }  public static string FilterStr(string str)  {          return str.Replace("'", " ").Replace(".", "").Replace("\r\n", " ");  }  /// <summary>  /// 生成条形码:如:bar_code("20070520122334", 20, 1, 1);  /// </summary>  /// <param name="str"></param>  /// <param name="ch">度度</param>  /// <param name="cw">线条宽度</param>  /// <param name="type_code">是否输出文字1为输出</param>  /// <returns></returns>  public static string BarCode(object str, int ch, int cw, int type_code)  {    #region    string strTmp = str.ToString();    string code = strTmp;    strTmp = strTmp.ToLower();    int height = ch;    int width = cw;    strTmp = strTmp.Replace("0", "_|_|__||_||_|"); ;    strTmp = strTmp.Replace("1", "_||_|__|_|_||");    strTmp = strTmp.Replace("2", "_|_||__|_|_||");    strTmp = strTmp.Replace("3", "_||_||__|_|_|");    strTmp = strTmp.Replace("4", "_|_|__||_|_||");    strTmp = strTmp.Replace("5", "_||_|__||_|_|");    strTmp = strTmp.Replace("7", "_|_|__|_||_||");    strTmp = strTmp.Replace("6", "_|_||__||_|_|");    strTmp = strTmp.Replace("8", "_||_|__|_||_|");    strTmp = strTmp.Replace("9", "_|_||__|_||_|");    strTmp = strTmp.Replace("a", "_||_|_|__|_||");    strTmp = strTmp.Replace("b", "_|_||_|__|_||");    strTmp = strTmp.Replace("c", "_||_||_|__|_|");    strTmp = strTmp.Replace("d", "_|_|_||__|_||");    strTmp = strTmp.Replace("e", "_||_|_||__|_|");    strTmp = strTmp.Replace("f", "_|_||_||__|_|");    strTmp = strTmp.Replace("g", "_|_|_|__||_||");    strTmp = strTmp.Replace("h", "_||_|_|__||_|");    strTmp = strTmp.Replace("i", "_|_||_|__||_|");    strTmp = strTmp.Replace("j", "_|_|_||__||_|");    strTmp = strTmp.Replace("k", "_||_|_|_|__||");    strTmp = strTmp.Replace("l", "_|_||_|_|__||");    strTmp = strTmp.Replace("m", "_||_||_|_|__|");    strTmp = strTmp.Replace("n", "_|_|_||_|__||");    strTmp = strTmp.Replace("o", "_||_|_||_|__|");    strTmp = strTmp.Replace("p", "_|_||_||_|__|");    strTmp = strTmp.Replace("r", "_||_|_|_||__|");    strTmp = strTmp.Replace("q", "_|_|_|_||__||");    strTmp = strTmp.Replace("s", "_|_||_|_||__|");    strTmp = strTmp.Replace("t", "_|_|_||_||__|");    strTmp = strTmp.Replace("u", "_||__|_|_|_||");    strTmp = strTmp.Replace("v", "_|__||_|_|_||");    strTmp = strTmp.Replace("w", "_||__||_|_|_|");    strTmp = strTmp.Replace("x", "_|__|_||_|_||");    strTmp = strTmp.Replace("y", "_||__|_||_|_|");    strTmp = strTmp.Replace("z", "_|__||_||_|_|");    strTmp = strTmp.Replace("-", "_|__|_|_||_||");    strTmp = strTmp.Replace("*", "_|__|_||_||_|");    strTmp = strTmp.Replace("/", "_|__|__|_|__|");    strTmp = strTmp.Replace("%", "_|_|__|__|__|");    strTmp = strTmp.Replace("+", "_|__|_|__|__|");    strTmp = strTmp.Replace(".", "_||__|_|_||_|");    strTmp = strTmp.Replace("_", "<span  style='height:" + height + ";width:" + width + ";background:#FFFFFF;'></span>");    strTmp = strTmp.Replace("|", "<span  style='height:" + height + ";width:" + width + ";background:#000000;'></span>");    if (type_code == 1)    {      return strTmp + "<BR>" + code;    }    else    {      return strTmp;    }    #endregion  }      public static string ClearHtml(string HtmlString)  {    string pn = "(</?.*?/?>)";    HtmlString = Regex.Replace(HtmlString, pn, "");    return HtmlString;  }  public static string ClearFormat(string HtmlString)  {    HtmlString = HtmlString.Replace("\r\n", string.Empty).Replace(" ", string.Empty);    return HtmlString.Trim();  }  #region 获取N行数据  /// <summary>  /// 取指定行数数据  /// </summary>  /// <param name="str">传入的待取字符串</param>  /// <param name="rowsnum">指定的行数</param>  /// <param name="strnum">每行的英文字符数或字节数</param>  /// <returns></returns>  public static string GetContent(string str, int rowsnum, int strnum)  {    //1计算内容块          string content = str.Replace("\r\n", "§");    string[] strContent = content.Split(Convert.ToChar("§"));    int strCount = rowsnum * strnum;    int cutrow = rowsnum - strContent.Length;    cutrow = rowsnum > 10 ? rowsnum : 10;    int pStrCount;    string setOkStr = "";    //2对内容块进行    for (int i = 0; i < strContent.Length; i++)    {      pStrCount = System.Text.Encoding.Default.GetBytes(strContent[i]).Length;      if (pStrCount < strCount)      {        setOkStr += strContent[i] + "<br>";        rowsnum -= Convert.ToInt32(Math.Ceiling((double)pStrCount / (double)strnum));        strCount = rowsnum * strnum;      }      else      {        if (rowsnum > 0)        {          setOkStr += CutStr(strContent[i], rowsnum * strnum, cutrow);        }        else        {          //减去rowsnum是为了避免有些行长度为90,有的为89的现像          setOkStr = setOkStr.Substring(0, setOkStr.Length - cutrow / 2) + "...";        }        break;      }    }    setOkStr = setOkStr.Replace(" ", " "); //软(半角)空格转硬(全角)空格    return setOkStr;  }  //字符串截取函数  public static string CutStr(string str, int length, int rowsnum)  {    if (System.Text.Encoding.Default.GetBytes(str).Length < length)      return str;    length = length - rowsnum;    int i = 0, j = 0;    foreach (char chr in str)    {      if ((int)chr > 127)        i += 2;      else        i++;      if (i > length)      {        str = str.Substring(0, j) + "...";        break;      }      j++;    }    return str;  }  #endregion  #region 得到整型  public static int ConvertToInt(string Str)  {    return Str.Trim() == string.Empty ? 0 : int.Parse(Str);  }  public static int GetInt(object o)  {    #region    if (o == DBNull.Value || o == null)      return 0;    else      return Convert.ToInt32(o);    #endregion  }   #endregion  /// <summary>  /// 转化成时间类型  /// </summary>  /// <param name="o"></param>  /// <returns></returns>  public static object ConvertDate(object o)  {    DateTime dt;    if(DateTime.TryParse(o.ToString(),out dt))      return dt;    else      return DBNull.Value;  }  #region 闭合HTML代码  public static string CloseHTML(string str)  {    string[] HtmlTag = new string[] { "p", "div", "span", "table", "ul", "font", "b", "u", "i", "a", "h1", "h2", "h3", "h4", "h5", "h6" };    for (int i = 0; i < HtmlTag.Length; i++)    {      int OpenNum = 0, CloseNum = 0;      Regex re = new Regex("<" + HtmlTag + "[^>]*" + ">", RegexOptions.IgnoreCase);      MatchCollection m = re.Matches(str);      OpenNum = m.Count;      re = new Regex("</" + HtmlTag + ">", RegexOptions.IgnoreCase);      m = re.Matches(str);      CloseNum = m.Count;      for (int j = 0; j < OpenNum - CloseNum; j++)      {        str += "</" + HtmlTag + ">";      }    }    return str;  }   #endregion  /// <summary>  /// 得到192.248.23.*的IP  /// </summary>  /// <param name="Str">IP地址</param>  /// <returns></returns>  public static string GetSortIp(string Str)  {    int x = Str.LastIndexOf('.')-1;    return Str.Substring(0, x) + "*.*";  }  /// <summary>  /// 获取年月  /// </summary>  /// <returns></returns>  public static string GetYearMonth()  {    return DateTime.Now.ToString("yyyyMM") ;  }  #region 获取远程页面内容  public static string GetHttpData(string Url)  {    //string sException = null;    string sRslt = null;    WebResponse oWebRps = null;    WebRequest oWebRqst = WebRequest.Create(Url);    oWebRqst.Timeout = 50000;    try    {      oWebRps = oWebRqst.GetResponse();    }    catch (WebException e)    {      //sException = e.Message.ToString();      //Response.Write(sException);    }    catch (Exception e)    {      //sException = e.ToString();      //Response.Write(sException);    }    finally    {      if (oWebRps != null)      {        var oStreamRd = new StreamReader(oWebRps.GetResponseStream(), Encoding.GetEncoding("UTF-8"));//GB2312|UTF-8"        sRslt = oStreamRd.ReadToEnd();        oStreamRd.Close();        oWebRps.Close();      }    }    return sRslt;  }  public string[] GetData(string Html)  {    String[] rS = new String[2];    string s = Html;    s = Regex.Replace(s, "\\s{3,}", "");    s = s.Replace("\r", "");    s = s.Replace("\n", "");    string Pat = "<td align=\"center\" class=\"24p\"><B>(.*)</B></td></tr><tr>.*(<table width=\"95%\" border=\"0\" cellspacing=\"0\" cellpadding=\"10\">.*</table>)<table width=\"98%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">(.*)<td align=center class=l6h>";    Regex Re = new Regex(Pat);    Match Ma = Re.Match(s);    if (Ma.Success)    {      rS[0] = Ma.Groups[1].ToString();      rS[1] = Ma.Groups[2].ToString();      //pgStr = Ma.Groups[3].ToString();    }    return rS;  }   #endregion  /// <summary>  /// 判断页面是否存在  /// </summary>  /// <param name="sURL"></param>  /// <returns></returns>  public static bool UrlExist(string sURL)  {    #region     try    {      HttpWebRequest request = (HttpWebRequest)WebRequest.Create(sURL);      //WebProxy  proxy  =  new  WebProxy("your  proxy  server",  8080);        //request.Proxy  =  proxy;        request.Method = "HEAD";      request.AllowAutoRedirect = false;      HttpWebResponse response = (HttpWebResponse)request.GetResponse();      bool result = false;      switch (response.StatusCode)      {        case HttpStatusCode.OK:          result = true;          break;        case HttpStatusCode.Moved:          break;        case HttpStatusCode.NotFound:          break;      }      response.Close();      return result;    }    catch    {      return false;    }     #endregion  }  #region 获取字串中的链接  /// <summary>  /// 获取字串中的链接  /// </summary>  /// <param name="HtmlCode"></param>  /// <returns></returns>  public static ArrayList GetPageUrl(string HtmlCode)  {    ArrayList my_list = new ArrayList();    string p = @"http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?";    Regex re = new Regex(p, RegexOptions.IgnoreCase);    MatchCollection mc = re.Matches(HtmlCode);    for (int i = 0; i <= mc.Count - 1; i++)    {      string name = mc[i].ToString();      if (!my_list.Contains(name))//排除重复URL      {        my_list.Add(name);      }    }    return my_list;  }   #endregion  /// <summary>  /// 将 Stream 转化成 string  /// </summary>  /// <param name="s"></param>  /// <returns></returns>  public static string ConvertStreamToString(Stream s)  {    #region     string strResult = "";    StreamReader sr = new StreamReader(s, Encoding.UTF8);    Char[] read = new Char[256];    // Read 256 charcters at a time.      int count = sr.Read(read, 0, 256);    while (count > 0)    {      // Dump the 256 characters on a string and display the string onto the console.      string str = new String(read, 0, count);      strResult += str;      count = sr.Read(read, 0, 256);    }    // 释放资源    sr.Close();    return strResult;     #endregion  }  /// <summary>  /// 对传递的参数字符串进行处理,防止注入式攻击  /// </summary>  /// <param name="str">传递的参数字符串</param>  /// <returns>String</returns>  public static string ConvertSql(string str)  {    #region     str = str.Trim();    str = str.Replace("'", "''");    str = str.Replace(";--", "");    str = str.Replace("=", "");    str = str.Replace(" or ", "");    str = str.Replace(" and ", "");    return str;     #endregion  }  /// <summary>  /// 格式化占用空间大小的输出  /// </summary>  /// <param name="size">大小</param>  /// <returns>返回 String</returns>  public static string FormatNUM(long size)  {    #region     decimal NUM;    string strResult;    if (size > 1073741824)    {      NUM = (Convert.ToDecimal(size) / Convert.ToDecimal(1073741824));      strResult = NUM.ToString("N") + " M";    }    else if (size > 1048576)    {      NUM = (Convert.ToDecimal(size) / Convert.ToDecimal(1048576));      strResult = NUM.ToString("N") + " M";    }    else if (size > 1024)    {      NUM = (Convert.ToDecimal(size) / Convert.ToDecimal(1024));      strResult = NUM.ToString("N") + " KB";    }    else    {      strResult = size + " 字节";    }    return strResult;     #endregion  }  /// <summary>  /// 获取数组元素的合并字符串  /// </summary>  /// <param name="stringArray"></param>  /// <returns></returns>  public static string GetArrayString(string[] stringArray)  {    #region     string totalString = null;    for (int i = 0; i < stringArray.Length; i++)    {      totalString = totalString + stringArray[i];    }    return totalString;     #endregion  }  /// <summary>  /// 将指定字符串中的汉字转换为拼音首字母的缩写,其中非汉字保留为原字符  /// </summary>  /// <param name="text"></param>  /// <returns></returns>  public static string ConvertSpellFirst(string text)  {    #region    var sb = new StringBuilder(text.Length);    foreach (char c in text)    {      var pinyin = c;      byte[] array = Encoding.Default.GetBytes(new[] { c });      if (array.Length == 2)      {        var i = array[0] * 0x100 + array[1];        #region 条件匹配        if (i < 0xB0A1) pinyin = c;        else          if (i < 0xB0C5) pinyin = 'a';          else            if (i < 0xB2C1) pinyin = 'b';            else              if (i < 0xB4EE) pinyin = 'c';              else                if (i < 0xB6EA) pinyin = 'd';                else                  if (i < 0xB7A2) pinyin = 'e';                  else                    if (i < 0xB8C1) pinyin = 'f';                    else                      if (i < 0xB9FE) pinyin = 'g';                      else                        if (i < 0xBBF7) pinyin = 'h';                        else                          if (i < 0xBFA6) pinyin = 'g';                          else                            if (i < 0xC0AC) pinyin = 'k';                            else                              if (i < 0xC2E8) pinyin = 'l';                              else                                if (i < 0xC4C3) pinyin = 'm';                                else                                  if (i < 0xC5B6) pinyin = 'n';                                  else                                    if (i < 0xC5BE) pinyin = 'o';                                    else                                      if (i < 0xC6DA) pinyin = 'p';                                      else                                        if (i < 0xC8BB) pinyin = 'q';                                        else                                          if (i < 0xC8F6) pinyin = 'r';                                          else                                            if (i < 0xCBFA) pinyin = 's';                                            else                                              if (i < 0xCDDA) pinyin = 't';                                              else                                                if (i < 0xCEF4) pinyin = 'w';                                                else                                                  if (i < 0xD1B9) pinyin = 'x';                                                  else                                                    if (i < 0xD4D1) pinyin = 'y';                                                    else                                                      if (i < 0xD7FA) pinyin = 'z';        #endregion      }      sb.Append(pinyin);    }          return sb.ToString();    #endregion  }  #region Request  /// <summary></summary>  /// <param name="filedName"></param>  /// <param name="defaultValue"></param>  /// <returns></returns>  public static int Request(string filedName, int defaultValue)  {    return Request(filedName, defaultValue, false);  }  /// <summary>  /// 获取URL指定参数,如果参数不存在或者为空就返回默认值  /// </summary>  /// <param name="filedName">请求KEY</param>  /// <param name="defaultValue">默认值</param>  /// <param name="isDecrypt">是否需要解密</param>  /// <returns></returns>  public static int Request(string filedName, int defaultValue, bool isDecrypt)  {    string str = HttpContext.Current.Request[filedName];    if (str != null && str.Trim() != "")    {      if (isDecrypt)      {        str = new PblogDes().Decrypt(str);      }      return int.Parse(str);    }    return defaultValue;  }  /// <summary>  /// 获取URL指定参数,如果参数不存在或者为空就抛出错误信息  /// </summary>  /// <param name="filedName"></param>  /// <returns></returns>  public static int Request(string filedName)  {    return Request(filedName, false);  }  /// <summary>  /// 获取URL指定参数,如果参数不存在或者为空就抛出错误信息  /// </summary>  /// <param name="filedName"></param>  /// <param name="isDecrypt">是否需要解密</param>  /// <returns></returns>  public static int Request(string filedName, bool isDecrypt)  {    int i = Request(filedName, -1, isDecrypt);    if (i == -1)    {      throw new Exception("找不到指定参数:" + filedName);    }    return i;  }  #endregion}