当前位置: 移动技术网 > IT编程>开发语言>.net > asp.net 字符串、二进制、编码数组转换函数

asp.net 字符串、二进制、编码数组转换函数

2017年12月12日  | 移动技术网IT编程  | 我要评论

开电脑店,原北京市委书记刘琪,保险股

1.字符串转二进制数组
string content="这是做个测试!";

system.text.unicodeencoding converter = new system.text.unicodeencoding();
byte[] bytearr = converter.getbytes(content);

2.二进制数组转为字符串
复制代码 代码如下:

system.text.unicodeencoding converter = new system.text.unicodeencoding();
string spcontent = converter.getstring(bytearr );


在编程中会遇到将文件以二进制数据保存到数据库的情况,以将"c:\test.html"文件保存到数据库和读取出来为例:

1.将文件以流的形式保存到数据库中:
复制代码 代码如下:

int itag=0;

      string content = "";

      stringbuilder sb = new stringbuilder();

       string filename = @"c:\test.html";
streamreader objreader = new streamreader(filename, system.text.encoding.getencoding("gb2312"));
string sline = "";
while (sline != null)
   {
   sline = objreader.readline();
  if (sline != null)
  {//这里可以做相应的处理,如过滤文件中的数据
   sb.append(sline);

   }
 }

objreader.close();

content= sb.tostring(); //如果你要将整个文件的内容显示在界面上,你可以用<%=content%>放到相应的地方

      system.text.unicodeencoding converter = new system.text.unicodeencoding();
      byte[] bytearr = converter.getbytes(content);

//下面为插入到数据库代码,

strinsertcmd = "insert into document (documentid,documentcontent,addtime,moditime,status) values ('" + documentid + "',?,'" + nowtime + "','" + nowtime + "',' 00 ')";
cmd=new oledbcommand(strinsertcm,connectionobj);
param = new oledbparameter("documentcontent", oledbtype.varbinary, bytearr.length, parameterdirection.input, false, 0, 0, null, datarowversion.current, bytearr);
cmd.parameters.add(param);
itag=cmd.executenonquery();

if(itag>0){//成功!}



2.从数据库中读取保存为文件或者字符串和步骤1是一个相反的过程


1.将gb2312数据转换为utf-8数据如下(其他的编码类推):
复制代码 代码如下:

public string gb2312toutf8(string ssourse) {
string utf8_info = string.empty;
encoding utf8 = encoding.utf8;
encoding gb2312 = encoding.getencoding("gb2312");
byte[] unicodebytes = gb2312.getbytes(ssourse);
byte[] asciibytes = encoding.convert(gb2312, utf8, unicodebytes);
char[] asciichars = new char[utf8.getcharcount(asciibytes, 0, asciibytes.length)];
utf8.getchars(asciibytes, 0, asciibytes.length, asciichars, 0);
utf8_info = new string(asciichars);
return utf8_info;
}

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网