当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > asp.net 字符串、二进制、编码数组转换函数

ASP.NET
AspNetPager与Socut.Data使用方法
asp.net UpdaeProgress的简单用法
asp.net ajaxControlToolkit ValidatorCalloutExtender的简单用法
asp.net 简易生成注册码(数字+大小写字母)
asp.net中利用ashx实现图片防盗链代码
ASP.NET程序中常用代码汇总
ASP.NET 2.0/3.5中直接操作Gridview控件插入新记录
ASP.NET Ajax级联DropDownList实现代码
ASP.NET 2.0写无限级下拉菜单
asp.net Web Services上传和下载文件(完整代码)
asp.net DataGrid控件中弹出详细信息窗口
Asp.NET 多层登陆实现代码
利用Asp.Net回调机制实现进度条
ASP.NET Ref和Out关键字区别分析
Javascript调用Webservice的多种方法
.Net下的签名与混淆图文分析
.Net Compact Framework开发小技巧 推荐
.Net连接Oracle数据库的实现代码
js获取.aspx页面里面的服务器控件和.ascx中的服务器控件值
asp.net下 jquery jason 高效传输数据

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-20   浏览: 310 ::
收藏到网摘: n/a

字符串和二进制数组转换、将HTML文件显示为页面的一部分、UTF8和GB2312之间的转换 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;
}