📄 stringutils.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 + -