zoukankan      html  css  js  c++  java
  • 字符串和二进制数组转换、将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;
            }

  • 相关阅读:
    梅森数 洛谷p1045
    高精度算法
    并查集(算法)
    各种背包模板
    爬虫作业
    numpy、scipy、pandas、matplotlib的读书报告:
    体育竞技分析羽毛球
    聊斋相关的分词,出现次数最高的20个
    在终端输出如下信息,(两种以上方法)
    7段数码管绘制
  • 原文地址:https://www.cnblogs.com/jehnjehn/p/2603678.html
Copyright © 2011-2022 走看看