C#中ICSharpCode.SharpZipLib字符串压缩
压缩dll文件ICSharpCode.SharpZipLib.dll+压缩和解压字符串代码
C#中压缩字符串
使用以下代码进行压缩和解压
///
/// 利用ICSharpCode压缩
///
///
///
public static string IC_Compress(string param)
{
byte[] data = System.Text.Encoding.UTF8.GetBytes(param);
//byte[] data = Convert.FromBase64String(param);
MemoryStream ms = new MemoryStream();
Stream stream = new ICSharpCode.SharpZipLib.BZip2.BZip2OutputStream(ms);
try
{
stream.Write(data, 0, data.Length);
}
finally
{
stream.Close();
ms.Close();
}
return Convert.ToBase64String(ms.ToArray());
}
///
/// 利用ICSharpCode解压
///
///
///
public static string IC_decompress(string param)
{
string commonString="";
byte[] buffer=Convert.FromBase64String(param);
MemoryStream ms = new MemoryStream(buffer);
Stream sm = new ICSharpCode.SharpZipLib.BZip2.BZip2InputStream(ms);
//这里要指明要读入的格式,要不就有乱码
StreamReader reader = new StreamReader(sm,System.Text.Encoding.UTF8);
try
{
commonString=reader.ReadToEnd();
}
finally
{
sm.Close();
ms.Close();
}
return commonString;
}
C#中QR二维码的dll文件
直接添加引用即可,并使用以下代码
//二维码生成部分
QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
String encoding = "Byte"; //cboEncoding.Text;
if (encoding == "Byte")
{
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
}
else if (encoding == "AlphaNumeric")
{
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.ALPHA_NUMERIC;
}
else if (encoding == "Numeric")
{
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.NUMERIC;
}
try
{
//int scale = Convert.ToInt16(txtSize.Text);
int scale = 1;
qrCodeEncoder.QRCodeScale = scale;
}
catch (Exception ex)
{
MessageBox.Show("Invalid size!");
return;
}
try
{
//设定二维码版本
int version = 40;// Convert.ToInt16(cboVersion.Text);
qrCodeEncoder.QRCodeVersion = version;
}
catch (Exception ex)
{
MessageBox.Show("Invalid version !");
}
//string errorCorrect = cboCorrectionLevel.Text;
//设置二维码纠错版本
string errorCorrect = "L";
if (errorCorrect == "L")
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.L;
else if (errorCorrect == "M")
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
else if (errorCorrect == "Q")
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.Q;
else if (errorCorrect == "H")
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.H;
//生成二维码图片
Image image = qrCodeEncoder.Encode(data, Encoding.GetEncoding("gb2312"));
//生成二维码文件
CreateQRFile(data, image, supplierName, DeliveryDate,QRNo);