⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stringutils.cs

📁 工作流引擎
💻 CS
字号:
using System;
using System.Text;
using System.Collections;
using System.Security.Cryptography;

namespace WorkFlow.util
{
	/// <summary>
	/// StringUtils 的摘要说明。
	/// </summary>
	public class StringUtils
	{
		private static Hashtable InvoiceHash = null;
		private static string[] WareName = {"图书","服装服饰","饰品","音像","化妆品","箱包","玩具","礼品","家电","办公用品","体育用品","洗涤用品","劳保用品"};
		private static string[] WareUnit = {"册","件","件","个","个","个","个","个","个","个","个","个","个"};
		private static string[] InvoiceChineseMoney = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
		private static string key = "a*sdfa&_234*$#!@#&$%#**(*)sdf)*1dowdd";

		public static string[] WARENAME
		{
			get
			{
				return WareName;
			}
		}

		public static String convertEncoding(string str, Encoding src, Encoding dest)
		{
			if(str==null || str.Length==0) return str;
			try
			{
				byte[] srcbytes=src.GetBytes(str);
				return dest.GetString(srcbytes);
			}
			catch
			{
				return str;
			}
		}

		public static string unicode_iso8859(string src) 
		{
			Encoding iso = Encoding.GetEncoding("iso8859-1");
			return convertEncoding(src,Encoding.UTF8,iso);
		}

		public static string toGbk(string src) 
		{
			Encoding e1=Encoding.GetEncoding("iso8859-1");
			Encoding e2=Encoding.GetEncoding("gb18030");
			return convertEncoding(src,e1,e2);
		}

		public static string iso8859_unicode(string src) 
		{
			Encoding iso = Encoding.GetEncoding("iso8859-1");
			return convertEncoding(src,iso,Encoding.UTF8);
		}

		public static string to8859(string src)
		{
			Encoding e1=Encoding.GetEncoding("gb18030");
			Encoding e2=Encoding.GetEncoding("iso8859-1");
			return convertEncoding(src,e1,e2);
		}

		public static string EmptyString(string src)
		{
			if(src==null || src.Length==0) return null;
			return src;
		}

		public static int Price_string2int(string str)
		{
			return (int)(decimal.Parse(str)*100);
		}

		public static string Price_int2string(int price)
		{
			StringBuilder sb=new StringBuilder(price.ToString());
			if(sb.Length<3)
			{
				if(sb.Length==1)
				{
					sb.Insert(0,"00");
				}
				else if(sb.Length==2)
				{
					sb.Insert(0,'0');
				}
			}
			sb.Insert(sb.Length-2,'.');
			return sb.ToString();
		}

		public static sbyte[] convertByteArray(byte[] src)
		{
			if(src==null) return null;
			sbyte[] rets=new sbyte[src.Length];
			for(int i=0;i<src.Length;i++)
			{
				int one=src[i];
				if(one>127) one=one-256;
				rets[i]=(sbyte)one;
			}
			return rets;
		}

		public static string getInvoiceWareUnit(string wareName)
		{
			try
			{
				if(InvoiceHash==null || InvoiceHash.Keys.Count <= 0)
				{
					setInvoiceWareUnit();
				}

				if(InvoiceHash.ContainsKey(wareName))
				{
					return (string)InvoiceHash[wareName];
				}
				else
				{
					return "个";
				}
			}
			catch(Exception)
			{
				throw;
			}

		}

		private static void setInvoiceWareUnit()
		{
			try
			{
				InvoiceHash = new Hashtable();
				for(int i=0;i<WareName.Length;i++)
				{
					InvoiceHash.Add(WareName[i],WareUnit[i]);
				}
			}
			catch(Exception)
			{
				throw;
			}
		}
		
		public static string GetChineseMoney(decimal money)
		{
			try
			{
				string strMoneyDecimal = money.ToString();
				string[] strMoney = strMoneyDecimal.Split(new char[]{'.'});
				StringBuilder sbr = new StringBuilder();
				sbr.Append("⊕");
				for(int i=0;i<strMoney[0].Length;i++)
				{
					sbr.Append(GetChineseNumber(int.Parse(strMoney[0].Substring(i,1))));
				}
				return sbr.ToString();
			}
			catch(Exception)
			{
				throw;
			}
		}

		private static string GetChineseNumber(int index)
		{
			try
			{
				return InvoiceChineseMoney[index];
			}
			catch(Exception)
			{
				throw;
			}
		}
		public static string filterBeforeDB(string oldString)
		{
			if(oldString==null) return null;
			StringBuilder sb = new StringBuilder();
			for(int i=0;i<oldString.Length;i++)
			{
				if(oldString[i]=='\'')
				{
					sb.Append("''");
				}
				else
				{
					sb.Append(oldString[i]);
				}
			}
			return sb.ToString();
		}

		public static string Encrypt(string original)  
		{  
			byte[] buff = System.Text.Encoding.Default.GetBytes(original);  
			byte[] kb = System.Text.Encoding.Default.GetBytes(key);
			return Convert.ToBase64String(Encrypt(buff,kb));      
		}  
		public static string Decrypt(string encrypted)  
		{       
			byte[] buff = Convert.FromBase64String(encrypted);  
			byte[] kb = System.Text.Encoding.Default.GetBytes(key);
			return System.Text.Encoding.Default.GetString(Decrypt(buff,kb));      
		}  

		private static byte[] MakeMD5(byte[] original)
		{
			MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();   
			byte[] keyhash = hashmd5.ComputeHash(original);       
			hashmd5 = null;  
			return keyhash;
		}

		private static byte[] Encrypt(byte[] original, byte[] key)  
		{  
			TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider();       
			des.Key =  MakeMD5(key);
			des.Mode = CipherMode.ECB;  
     
			return des.CreateEncryptor().TransformFinalBlock(original, 0, original.Length);     
		}  

		/// <summary>
		/// 使用给定密钥解密数据
		/// </summary>
		/// <param name="encrypted">密文</param>
		/// <param name="key">密钥</param>
		/// <returns>明文</returns>
		private static byte[] Decrypt(byte[] encrypted, byte[] key)  
		{  
			TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider();  
			des.Key =  MakeMD5(key);    
			des.Mode = CipherMode.ECB;  
			return des.CreateDecryptor().TransformFinalBlock(encrypted, 0, encrypted.Length);
		}  


	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -