标签:编码方式 raw efault 函数返回 net text name region null
#region 获取文件后缀 public static string GetExtendName(string filename) { if (!string.IsNullOrEmpty(filename)) { var index = filename.LastIndexOf("."); if (index >= 0) return filename.Substring(index); } return string.Empty; } #endregion #region 获取URL参数 public static string GetParameter(string paraName, string paraValue) { System.Collections.Specialized.NameValueCollection querystring = HttpContext.Current.Request.QueryString; System.Text.StringBuilder sb = new System.Text.StringBuilder(); sb.Append("?"); if (!string.IsNullOrEmpty(paraValue)) sb.AppendFormat(paraName + "=" + paraValue); foreach (string key in querystring.Keys) { if (key != paraName && !string.IsNullOrEmpty(key)) { if (sb.ToString().Length > 1) sb.Append("&"); sb.AppendFormat("{0}={1}", key, HttpContext.Current.Server.UrlEncode(querystring[key])); } } return sb.ToString(); } #endregion #region 数组转化成逗号隔开的字符串 /// <summary> /// 数组转化成逗号隔开的字符串 /// </summary> /// <param name="arr"></param> /// <returns></returns> public static string Array2String(string[] arr) { return Array2String(arr, ","); } public static string Array2String(string[] arr, string splitChar) { if (arr != null) { StringBuilder sb = new StringBuilder(); if (arr != null) { for (int i = 0; i < arr.Length; i++) { sb.Append(arr[i]); if (i + 1 < arr.Length) sb.Append(splitChar); } } return sb.ToString(); } return string.Empty; } #endregion #region 字符串转化为数组 public static string[] String2Array(string str) { if (!string.IsNullOrEmpty(str)) { return str.Split(‘,‘); } return null; } #endregion #region 数值类型判断 public static bool IsDecimal(string number) { if (string.IsNullOrEmpty(number)) return false; decimal result; return Decimal.TryParse(number, out result); } public static bool IsInt(string number) { if (string.IsNullOrEmpty(number)) return false; int result; return int.TryParse(number, out result); } #endregion #region 日期转换 public static DateTime StringToDateTimeByYYYYMMDD(string time) { if (time.Length == 8) { return new DateTime(int.Parse(time.Substring(0, 4)), int.Parse(time.Substring(4, 2)), int.Parse(time.Substring(6, 2))); } throw new Exception("不合法"); } #endregion #region 函数返回值 public static Dictionary<int, string> FunctionReturnValue(int code, string messsage) { return new Dictionary<int, string> { {0, code.ToString()}, {1, messsage ?? string.Empty} }; } #endregion #region 获取支付订单ID public static string GetPayOrderID() { char[] s = new char[] { ‘0‘, ‘1‘, ‘2‘, ‘3‘, ‘4‘, ‘5‘, ‘6‘, ‘7‘, ‘8‘, ‘9‘ }; string num = ""; Random r = new Random(); for (int i = 0; i < 3; i++) { num += s[r.Next(0, s.Length)].ToString(); } string order = DateTime.Now.ToString("yyyyMMddHHmmssfff") + num; return order; } #endregion #region 冒泡排序法 public static string[] BubbleSort(string[] r) { int i, j; //交换标志 string temp; bool exchange; for (i = 0; i < r.Length; i++) //最多做R.Length-1趟排序 { exchange = false; //本趟排序开始前,交换标志应为假 for (j = r.Length - 2; j >= i; j--) {//交换条件 if (System.String.CompareOrdinal(r[j + 1], r[j]) < 0) { temp = r[j + 1]; r[j + 1] = r[j]; r[j] = temp; exchange = true; //发生了交换,故将交换标志置为真 } } if (!exchange) //本趟排序未发生交换,提前终止算法 { break; } } return r; } #endregion #region 指定字节流编码计算MD5哈希值 /// <summary> /// 指定字节流编码计算MD5哈希值 /// </summary> /// <param name="source"></param> /// <param name="bytesEncoding"></param> /// <returns></returns> public static string MD5(string source, Encoding bytesEncoding) { var sourceBytes = bytesEncoding.GetBytes(source); var md5 = new MD5CryptoServiceProvider(); var hashedBytes = md5.ComputeHash(sourceBytes); var buffer = new StringBuilder(hashedBytes.Length); foreach (byte item in hashedBytes) buffer.AppendFormat("{0:x2}", item); return buffer.ToString(); } /// <summary> /// 指定字节流编码计算MD5哈希值 /// </summary> /// <param name="source"></param> /// <returns></returns> public static string MD5(string source) { return MD5(source, Encoding.Default); } #endregion #region 获取远程服务器ATN结果 public static String GetHttpResponse(String url) { string strResult; try { HttpWebRequest myReq = (HttpWebRequest)HttpWebRequest.Create(url); HttpWebResponse HttpWResp = (HttpWebResponse)myReq.GetResponse(); Stream myStream = HttpWResp.GetResponseStream(); StreamReader sr = new StreamReader(myStream, Encoding.Default); StringBuilder strBuilder = new StringBuilder(); while (-1 != sr.Peek()) { strBuilder.Append(sr.ReadLine()); } strResult = strBuilder.ToString(); } catch (Exception exp) { strResult = "错误:" + exp.Message; } return strResult; } #endregion #region 数字转大写 public static string Number2Chinese(int number) { string cstr = ""; switch (number) { case 1: cstr = "一"; break; case 2: cstr = "二"; break; case 3: cstr = "三"; break; case 4: cstr = "四"; break; case 5: cstr = "五"; break; case 6: cstr = "六"; break; case 7: cstr = "七"; break; case 8: cstr = "八"; break; case 9: cstr = "九"; break; case 10: cstr = "十"; break; } return (cstr); } #endregion #region 获取IP public static string GetClientIP() { return System.Web.HttpContext.Current.Request.UserHostAddress; } #endregion #region 截取字符串 public static string Substring(string inputString, int length) { if (!string.IsNullOrEmpty(inputString)) { length = inputString.Length < length ? inputString.Length : length; return inputString.Substring(0, length); } return string.Empty; } #endregion #region 身材随机数字 public static string GetRandomNumber(int length) { length = length == 0 ? 4 : length; char[] s = new char[] { ‘0‘, ‘1‘, ‘2‘, ‘3‘, ‘4‘, ‘5‘, ‘6‘, ‘7‘, ‘8‘, ‘9‘ }; string num = ""; Random r = new Random(); for (int i = 0; i < length; i++) { num += s[r.Next(0, s.Length)].ToString(); } return num; } #endregion #region 写入和获取Cookie /// <summary> /// 读取Cookie /// </summary> /// <param name="key"></param> /// <returns></returns> public static string GetCookie(string key) { if (HttpContext.Current.Request.Cookies[key] == null) return null; return HttpContext.Current.Request.Cookies[key].Value; } /// <summary> /// 写入Cookie /// </summary> /// <param name="key"></param> /// <param name="value"></param> /// <param name="expires"></param> public static void WriteCookie(string key, string value, double expires) { HttpCookie Cookie = new HttpCookie(key); string host = HttpContext.Current.Request.Url.Host; if (host != "localhost") { Cookie.Domain = host.Substring(host.IndexOf(‘.‘)); } if (expires > 0) Cookie.Expires = DateTime.Now.AddMinutes(expires); Cookie.Value = value; HttpContext.Current.Response.Cookies.Add(Cookie); } #endregion #region 时间转换 public static double TimeDotNet2Java(DateTime time) { TimeSpan timeSpan = new TimeSpan(time.Ticks - new DateTime(1970, 1, 1, 0, 0, 0).Ticks); return (timeSpan.TotalMilliseconds); } #endregion #region 判断是否是手机浏览器 public static bool IsMobileBrowse() { bool isMobile = false; string ua = System.Web.HttpContext.Current.Request.UserAgent; string[] uas = { "symbian", "android", "iphone", "ucweb", "nokia", "mqqbrowser" }; for (var i = 0; i < uas.Length; i++) { if (ua.ToLower().IndexOf(uas[i]) > -1) { isMobile = true; break; } } return isMobile; } #endregion #region 枚举转化为Dictionary public static Dictionary<int, string> BehaviorEnum2Dict() { Dictionary<int, string> dict = new Dictionary<int, string>(); Type type = typeof(TravelB2B.Core.Utils.BehaviorsEnum); foreach (object o in System.Enum.GetValues(type)) { dict.Add((int)o, o.ToString()); } return dict; } public static Dictionary<int, string> SMSKindEnum2Dict() { Dictionary<int, string> dict = new Dictionary<int, string>(); Type type = typeof(TravelB2B.Core.Domain.SMSKind); foreach (object o in System.Enum.GetValues(type)) { dict.Add((int)o, o.ToString()); } return dict; } #endregion #region 提取中文 public static string GetChinese(string text) { StringBuilder sb = new StringBuilder(); int currentcode = -1; for (int i = 0; i < text.Length; i++) { currentcode = (int)text[i]; if (currentcode > 19968 && currentcode < 40869) { sb.Append(text[i].ToString()); } } return sb.ToString(); } #endregion #region 获取时间戳 public static long ConvertDateTimeInt() { return ConvertDateTimeInt(DateTime.Now); } public static long ConvertDateTimeInt(DateTime time) { double intResult = 0; System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); intResult = (time - startTime).TotalSeconds; return (long)intResult; } #endregion #region Base64加密解密 public static string EncodeBase64(Encoding encode, string source) { string code = source; byte[] bytes = encode.GetBytes(source); try { code = Convert.ToBase64String(bytes); } catch { code = source; } return code; } /// <summary> /// Base64加密,采用utf8编码方式加密 /// </summary> /// <param name="source">待加密的明文</param> /// <returns>加密后的字符串</returns> public static string EncodeBase64(string source) { return EncodeBase64(Encoding.UTF8, source); } /// <summary> /// Base64解密 /// </summary> /// <param name="codeName">解密采用的编码方式,注意和加密时采用的方式一致</param> /// <param name="result">待解密的密文</param> /// <returns>解密后的字符串</returns> public static string DecodeBase64(Encoding encode, string result) { string decode = ""; byte[] bytes = Convert.FromBase64String(result); try { decode = encode.GetString(bytes); } catch { decode = result; } return decode; } /// <summary> /// Base64解密,采用utf8编码方式解密 /// </summary> /// <param name="result">待解密的密文</param> /// <returns>解密后的字符串</returns> public static string DecodeBase64(string result) { return DecodeBase64(Encoding.UTF8, result); } #endregion #region Base64加密解密 public static string EncodeBase64(Encoding encode, string source) { string code = source; byte[] bytes = encode.GetBytes(source); try { code = Convert.ToBase64String(bytes); } catch { code = source; } return code; } /// <summary> /// Base64加密,采用utf8编码方式加密 /// </summary> /// <param name="source">待加密的明文</param> /// <returns>加密后的字符串</returns> public static string EncodeBase64(string source) { return EncodeBase64(Encoding.UTF8, source); } /// <summary> /// Base64解密 /// </summary> /// <param name="codeName">解密采用的编码方式,注意和加密时采用的方式一致</param> /// <param name="result">待解密的密文</param> /// <returns>解密后的字符串</returns> public static string DecodeBase64(Encoding encode, string result) { string decode = ""; byte[] bytes = Convert.FromBase64String(result); try { decode = encode.GetString(bytes); } catch { decode = result; } return decode; } /// <summary> /// Base64解密,采用utf8编码方式解密 /// </summary> /// <param name="result">待解密的密文</param> /// <returns>解密后的字符串</returns> public static string DecodeBase64(string result) { return DecodeBase64(Encoding.UTF8, result); } #endregion #region 是否是微信访问 public static bool IsMicroMessenger() { string userAgent = System.Web.HttpContext.Current.Request.UserAgent; return userAgent.IndexOf("MicroMessenger") > -1; } #endregion #region 获取Post数据 /// <summary> /// 获取Post数据 /// </summary> /// <returns></returns> public static string GetHttpPostData() { string requestData = ""; using (Stream recieveStream = HttpContext.Current.Request.InputStream) { using (StreamReader readStream = new StreamReader(recieveStream, Encoding.UTF8)) { requestData = readStream.ReadToEnd(); } } return requestData; } #endregion #region 在一个字符串中查找图片的src的值,返回一个数组 public static string[] GetSrc(string str) { string regStr = "\\<IMG\\ [\\s\\S]*?src=[‘\"]?(?<p>[^‘\"\\>\\ ]+)[‘\"\\>\\ ]"; string cont1 = string.Empty; //图片的src Regex reg = new Regex(regStr, RegexOptions.Compiled | RegexOptions.IgnoreCase); Match match = reg.Match(str); string picSrc = ""; while (match.Success) { picSrc = match.Groups["p"].Value; cont1 += string.Format("{0}", picSrc + ","); match = match.NextMatch(); } cont1 = cont1.Substring(0, cont1.LastIndexOf(‘,‘)); string[] strList = cont1.Split(‘,‘); return strList; } #endregion #region 获取一个图片的宽和高 public static int[] PictureAttribute(string filePath) { int[] picture = new int[2]; Image pic = Image.FromFile(filePath);//filePath是该图片的绝对路径 picture[0] = pic.Width;//长度像素值 picture[1] = pic.Height;//高度像素值 return picture; } #endregion #region 提取图片地址 public static string[] GetHtmlImageUrlList(string htmlText) { Regex regImg = new Regex(@"<img\b[^<>]*?\bsrc[\s\t\r\n]*=[\s\t\r\n]*[""‘]?[\s\t\r\n]*(?<imgUrl>[^\s\t\r\n""‘<>]*)[^<>]*?/?[\s\t\r\n]*>", RegexOptions.IgnoreCase); //新建一个matches的MatchCollection对象 保存 匹配对象个数(img标签) MatchCollection matches = regImg.Matches(htmlText); int i = 0; string[] sUrlList = new string[matches.Count]; //遍历所有的img标签对象 foreach (Match match in matches) { //获取所有Img的路径src,并保存到数组中 sUrlList[i++] = match.Groups["imgUrl"].Value; } return sUrlList; } #endregion //20180720 王鑫 #region 国内手机号格式校验 public static bool CheckMobliePhone(string phone) { //电信手机号码正则 string dianxin = @"^1[3578][01379]\d{8}$"; Regex dReg = new Regex(dianxin); //联通手机号正则 string liantong = @"^1[34578][01256]\d{8}$"; Regex tReg = new Regex(liantong); //移动手机号正则 string yidong = @"^(134[012345678]\d{7}|1[34578][012356789]\d{8})$"; Regex yReg = new Regex(yidong); if (dReg.IsMatch(phone) || tReg.IsMatch(phone) || yReg.IsMatch(phone)) { return true; } return false; } #endregion //20180810 王鑫 #region 渲染二维码 public static Bitmap RenderQrCode(string str) { QRCodeGenerator.ECCLevel eccLevel = QRCodeGenerator.ECCLevel.L; using (QRCodeGenerator qrGenerator = new QRCodeGenerator()) { using (QRCodeData qrCodeData = qrGenerator.CreateQrCode(str, eccLevel)) { using (QRCode qrCode = new QRCode(qrCodeData)) { return qrCode.GetGraphic(8, Color.Black, Color.White, false); } } } } #endregion #region 网络图片到流的转换 public static string FileToStream(string SourFilePath) { try { WebRequest request = WebRequest.Create(SourFilePath); WebResponse response = request.GetResponse(); Stream s = response.GetResponseStream(); byte[] data = new byte[1024]; int length = 0; MemoryStream ms = new MemoryStream(); while ((length = s.Read(data, 0, data.Length)) > 0) { ms.Write(data, 0, length); } ms.Seek(0, SeekOrigin.Begin); var image = Image.FromStream(ms); var bytedata = ImageTobyte(image); string base64 = Convert.ToBase64String(bytedata); return base64; } catch (Exception ex) { logger.Error(ex.Message); throw ex; } } private static byte[] ImageTobyte(Image image) { MemoryStream ms = new MemoryStream(); Bitmap bi = new Bitmap(image); bi.Save(ms, image.RawFormat); byte[] data = new byte[ms.Length]; ms.Seek(0, SeekOrigin.Begin); ms.Read(data, 0, data.Length); return data; } #endregion #region 根据相对路径在项目根路径下创建文件夹 //根据相对路径在项目根路径下创建文件夹 private bool CreateFolderIfNeeded(string path) { bool result = true; if (!Directory.Exists(path)) { try { Directory.CreateDirectory(path); } catch (Exception) { result = false; } } return result; } #endregion
#region 密码加密 public static String EncryptPassword(String password, String salt) { var bytes = Encoding.UTF8.GetBytes(password + salt); byte[] hashBytes = new System.Security.Cryptography.SHA256Managed().ComputeHash(bytes); string hashString = Convert.ToBase64String(hashBytes); return hashString; }
#endregion
标签:编码方式 raw efault 函数返回 net text name region null
原文地址:https://www.cnblogs.com/hugeboke/p/11575132.html