利用数据库存储文本文件、图像文件需要的字符串读写方法备忘

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

/// <summary>
  /// 将文本字符串转换成带","号分离的二进制字符串
  /// </summary>
  /// <param name="strContent">文本字符串</param>
  /// <returns>带,号分离的二进制字符串</returns>
  private string strTextTostrBin(string strText)
  {
  byte[] bytearr=null;
  string stringtobin="";
  System.Text.Encoding encoding = System.Text.Encoding.UTF8;
  bytearr=encoding.GetBytes(strText);
  for(int i=0;i<bytearr.Length;i++)
  {
  stringtobin+=","+bytearr[i].ToString();
  }
  return stringtobin.Substring(1);

  }
  /// <summary>
  /// 将带,号分离的二进制字符串转换成文本字符串
  /// </summary>
  /// <param name="strBin">带,号分离的二进制字符串</param>
  /// <returns>文本字符串</returns>
  private string strBinTostrText(string strBin)
  {
  string [] bintostr=strBin.Split(',');
  Array binArray=Array.CreateInstance(Type.GetType("System.Byte"),bintostr.Length);
  for(int i=binArray.GetLowerBound(0);i<=binArray.GetUpperBound(0);i++)
  {
  binArray.SetValue(byte.Parse(bintostr[i]+""),i);
  }

  byte[] strtobin=new byte[bintostr.Length];
  for(int i=binArray.GetLowerBound(0);i<=binArray.GetUpperBound(0);i++)
  {
  strtobin[i]=(byte)binArray.GetValue(i);
  }
  System.Text.Encoding encoding = System.Text.Encoding.UTF8;
  return encoding.GetString(strtobin);
  }

时间: 2024-08-24 16:52:29

利用数据库存储文本文件、图像文件需要的字符串读写方法备忘的相关文章

浅谈利用SQLite存储离散瓦片的思路和实现方法

文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 在多个项目中涉及到互联网地图的内网显示,通过自制工具完成了互联网地图的瓦片下载.但是此种方法存在如下几个问题: a.瓦片均是离散型图片,远程部署非常耗时. b.瓦片下载中,涉及到将互联网瓦片下载至内存,然后建立对应文件夹,然后保存至本地的过程,效率不高. 除了以上两个问题外,还有存储占用比较多等等缺点.是否有类似于ArcGIS的Bundle型瓦片组织格式来解决

sqlserver replace函数 批量替换数据库中指定字段内指定字符串参考方法

语法 REPLACE ( 'string_e­xpression1' , 'string_e­xpression2' , 'string_e­xpression3' ) 参数说明 'string_e­xpression1' 待搜索的字符串表达式.string_e­xpression1 可以是字符数据或二进制数据. 'string_e­xpression2' 待查找的字符串表达式.string_e­xpression2 可以是字符数据或二进制数据. 'string_e­xpression3' 替换

ascii字符串压缩-Oracle数据库存储需要:Ascii数值型字符串压缩

问题描述 Oracle数据库存储需要:Ascii数值型字符串压缩 数值型字符串,比如:123.44 23.54 34.65....,总数大约86400个,以空格符分隔,采用什么压缩算法最为有效?压缩速度要快,压缩比率越小越好,可还原,无损! 解决方案 Ascii的值都是整形的而且范围值0到127,浮点类型可以转换吗

android SQLite数据库存储数据

简介 SQLite是轻量级嵌入式数据库引擎,它支持 SQL 语言,并且只利用很少的内存就有很好的性能.Android 集成了 SQLite 数据库 Android 在运行时(run-time)集成了 SQLite,所以每个 Android 应用程序都可以使用 SQLite 数据库. 对于熟悉 SQL 的开发人员来时,在 Android 开发中使用 SQLite 相当简单.但是,由于 JDBC 会消耗太多的系统资源,所以 JDBC 对于手机这种内存受限设备来说并不合适.因此,Android 提供了

利用数据库复制技术 实现数据同步更新

数据|数据库|数据同步 利用数据库复制技术 实现数据同步更新复制的概念复制是将一组数据从一个数据源拷贝到多个数据源的技术,是将一份数据发布到多个存储站点上的有效方式.使用复制技术,用户可以将一份数据发布到多台服务器上,从而使不同的服务器用户都可以在权限的许可的范围内共享这份数据.复制技术可以确保分布在不同地点的数据自动同步更新,从而保证数据的一致性.SQL复制的基本元素包括出版服务器.订阅服务器.分发服务器.出版物.文章SQL复制的工作原理SQL SERVER 主要采用出版物.订阅的方式来处理复

基于JSP实现图片的数据库存储与显示

    基于JSP实现图片的数据库存储与显示 1.引言数据库应用程序,特别是基于WEB的数据库应用程序,常会涉及到图片信息的存储和显示.通常我们使用的方法是将所要显示的图片存在特定的目录下,在数据库中保存相应的图片的名称,在JSP中建立相应的数据源,利用数据库访问技术处理图片信息.但是,如果我们想动态的显示图片,上述方法就不能满足需要了.我们必须把图片存入数据库,然后通过编程动态地显示我们需要的图片.实际操作中,可以利用JSP的编程模式来实现图片的数据库存储和显示.2.     建立后台数据库 

应用-软件中是怎样利用数据库的?

问题描述 软件中是怎样利用数据库的? 就拿QQ来说,登录的时候我们需要先输入账号密码,与数据库中的我们的信息核对正确后才能让我们登录成功.那么一款软件中到底是怎样应用这些数据库的呢?可以看哪些书来了解这些?请指教. 解决方案 任何一款利用数据库的软件,通常都分前端与后台.前端应用先连接数据库,执行相应的SQL查询,查询结果返回相应的数据,这个数据再与相应的前端数据(比如用户输入的用户名和密码)做比较,根据比较的结果决定程序下一步的动作.很直观的. 解决方案二: 通常软件中利用数据库都是存储数据,

列数据库存储技术笔记

列数据库存储技术 这个slide:VLDB 2009 Tutorial on Column-Stores将列数据库相关的技术keyword都列举出来了:storage && compression.query execution engine.CPU.Memory. 本文就是对 compression 这个点的相关技术的收集: 行存储的数据库多采用稠密索引,如果数据库文件中的数据不是按照关键字的顺序排列(例如按照大小.时间前后),需要对为每一行数据基于此关键字创建一个索引项.会导致: 1

mysql数据库存储路径更改 数据文件位置

mysql数据库存储路径更改  使用了VPS一段时间之后发现磁盘空间快满了.本人的VPS在购买的时候买了500gb的磁盘,提供商赠送了20GB的高性能系统磁盘.这样系统就有两个磁盘空间了.在初次安装mysql 的时候将数据库目录安装在了系统盘.(第一个磁盘)使用了一段时间之后数据库存储量变大,快将20GB的存放空间占满了.因此必须将存放数据空间换地方了.嘿嘿下面是简单的操作了,不合理之处还请大侠们指点. 操作步骤:     1.检查mysql数据库存放目录     mysql -u root -