using System; using System.Collections.Generic; using System.Diagnostics; using System.Globalization; using System.Text; using System.Text.RegularExpressions; using System.Web; using TinyPinyin.Core; namespace Hncore.Infrastructure.Extension { public static class StringExtension { #region Url、Html编码 [DebuggerStepThrough] public static string UrlEncode(this string target) { return HttpUtility.UrlEncode(target); } [DebuggerStepThrough] public static string UrlEncode(this string target, Encoding encoding) { return HttpUtility.UrlEncode(target, encoding); } [DebuggerStepThrough] public static string UrlDecode(this string target) { return HttpUtility.UrlDecode(target); } [DebuggerStepThrough] public static string UrlDecode(this string target, Encoding encoding) { return HttpUtility.UrlDecode(target, encoding); } [DebuggerStepThrough] public static string AttributeEncode(this string target) { return HttpUtility.HtmlAttributeEncode(target); } [DebuggerStepThrough] public static string HtmlEncode(this string target) { return HttpUtility.HtmlEncode(target); } [DebuggerStepThrough] public static string HtmlDecode(this string target) { return HttpUtility.HtmlDecode(target); } #endregion #region Unicode编码 /// /// 汉字转换为Unicode编码 /// /// 要编码的汉字字符串 /// Unicode编码的的字符串 public static string ToUnicode(this string str) { if (string.IsNullOrEmpty(str)) { return str; } StringBuilder unicode = new StringBuilder(); foreach (char chr in str) { // Get the integral value of the character. int value = Convert.ToInt32(chr); // Convert the decimal value to a hexadecimal value in string form. string hexOutput = String.Format("{0:x}", value); unicode.Append("\\u" + hexOutput); } return unicode.ToString(); } /// /// 将Unicode编码转换为汉字字符串 /// /// Unicode编码字符串 /// 汉字字符串 public static string FromUnicode(this string unicode) { if (string.IsNullOrEmpty(unicode)) { return unicode; } StringBuilder str = new StringBuilder(); unicode = unicode.Replace("\\u", "_"); string[] hex = unicode.Split('_'); for (int i = 1; i < hex.Length; i++) { int data = Convert.ToInt32(hex[i].ToString(), 16); str.Append((char) data); } return str.ToString(); } #endregion #region 清除脚本 /// /// 清除脚本 /// /// /// public static string NoHTML(this string Htmlstring) { //删除脚本 Htmlstring = Regex.Replace(Htmlstring, @"]*?>.*?", "", RegexOptions.IgnoreCase); //删除HTML Htmlstring = Regex.Replace(Htmlstring, @"<.*?>|&.{4,5}", "", RegexOptions.IgnoreCase); Htmlstring = Regex.Replace(Htmlstring, @"<(.[^>]*)>", "", RegexOptions.IgnoreCase); Htmlstring = Regex.Replace(Htmlstring, @"([\r\n])[\s]+", "", RegexOptions.IgnoreCase); Htmlstring = Regex.Replace(Htmlstring, @"-->", "", RegexOptions.IgnoreCase); Htmlstring = Regex.Replace(Htmlstring, @"