将文本文件转换成utf-8存储进数据库

来源:互联网 发布:axure mac安装时闪退 编辑:程序博客网 时间:2024/06/07 19:48

读写大文本为防止注入等各种问题,将文本转换为Unicode或UTF8进行保存.

/// <summary>
/// 将文本字符串转换成带","号分离的二进制字符串
/// </summary>
/// <param name="strContent">文本字符串</param>
/// <returns>带,号分离的二进制字符串</returns>
private string strTextTostrBin(string strText)
{
byte[] bytearr=null;
 string stringtobin="";
10 System.Text.Encoding encoding = System.Text.Encoding.UTF8;
11 bytearr=encoding.GetBytes(strText);
12  for(int i=0;i<bytearr.Length;i++)
13 {
14  stringtobin+=","+bytearr[i].ToString();
15 }
16 return stringtobin.Substring(1);
17
18 }
19 /// <summary>
20 /// 将带,号分离的二进制字符串转换成文本字符串
21 /// </summary>
22 /// <param name="strBin">带,号分离的二进制字符串</param>
23 /// <returns>文本字符串</returns>
24 private string strBinTostrText(string strBin)
25 {
26 string [] bintostr=strBin.Split(',');
27 Array binArray=Array.CreateInstance(Type.GetType("System.Byte"),bintostr.Length);
28  for(int i=binArray.GetLowerBound(0);i<=binArray.GetUpperBound(0);i++)
29  {
30 binArray.SetValue(byte.Parse(bintostr[i]+""),i);
31 }
32
33  byte[] strtobin=new byte[bintostr.Length];
34 for(int i=binArray.GetLowerBound(0);i<=binArray.GetUpperBound(0);i++)
35 {
36  strtobin[i]=(byte)binArray.GetValue(i);
37 }
38 System.Text.Encoding encoding = System.Text.Encoding.UTF8;
39 return encoding.GetString(strtobin);
40 }