`
ljz0898
  • 浏览: 228597 次
  • 性别: Icon_minigender_1
  • 来自: 海南海口
社区版块
存档分类
最新评论

数据库字段内容的压缩算法

 
阅读更多
package cn.ljz;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;

public class StringZip{
	public static String zipString(String str){
		try{
			ByteArrayOutputStream bos = null;
			GZIPOutputStream os = null;
			byte[] bs = null;
			try{
				bos = new ByteArrayOutputStream();
				os = new GZIPOutputStream(bos);
				os.write(str.getBytes());
				os.close();
				bos.close();
				bs = bos.toByteArray();
				return new String(bs,"iso-8859-1");
				
			}finally{
				bs = null;
				bos = null;
				os = null;
			}
		}catch(Exception ex){
			return str;
		}
	}
	
	public static String unzipString(String str){
		ByteArrayInputStream bis = null;
		ByteArrayOutputStream bos = null;
		GZIPInputStream is = null;
		byte[] buf = null;
		try{
			bis = new ByteArrayInputStream(str.getBytes("ISO-8859-1"));
			bos = new ByteArrayOutputStream();
			is = new GZIPInputStream(bis);
			buf = new byte[1024];
			int len;
			while((len=is.read(buf))!=-1){
				bos.write(buf,0,len);
			}
			is.close();
			bis.close();
			bos.close();
			return new String(bos.toByteArray());
			
		}catch(Exception ex){
			return str;
		}finally{
			bis = null;
			bos = null;
			is = null;
			buf = null;
		}
		
	}
}
分享到:
评论

相关推荐

    数据库字段自动生成拼音Delphi源码

    描述中提到的“自动生成数据库字段的拼音简码或全拼码”,意味着这个源码实现了将汉字转换为拼音的算法,包括简化的拼音(如“中国”转为“zhongguo”)和完整的拼音(如“中国”转为“zhong guo”)。这通常是通过...

    数据库表空间算法,推荐

    数据库表空间算法是数据库管理中一个关键的概念,它关乎到数据存储的效率和数据库的优化。表空间的大小计算对于数据库的设计和维护至关重要,因为它直接影响到数据库的性能、存储需求以及资源利用。以下是对数据库表...

    Access 数据库压缩工具及源码

    如果你是开发者,你可以根据自己的需求修改或扩展这个工具,比如增加新的压缩算法,或者集成到自己的应用程序中。源码的可读性和灵活性是其重要的优点,使得学习和调试过程更加高效。 总的来说,"Access数据库压缩...

    实时数据库和关系数据库的设计特点

    实时数据库由于需要处理大量数据,因此采用各种数据压缩算法来减少存储空间和提升访问速度。常用的压缩算法分为无损压缩和有损压缩两大类。无损压缩算法以通用压缩理论为基础,如Huffman编码;有损压缩则根据工业...

    金融业务数据库的数据压缩方法

    本文介绍了一种针对金融业务数据库特性的数据压缩方法——结构混合压缩(Structured Mixed Compression, SMC)算法。 #### 数据压缩背景与意义 金融业务中通常涉及到大量的交易数据、客户信息等敏感信息,这些数据...

    Sqlite大对象字段读写及数据流的解压缩

    Zlib是一个广泛使用的数据压缩库,提供了高效的无损压缩算法。在SQLite中存储大对象时,为了节省存储空间,我们可以先对数据进行压缩,再写入数据库,读取时进行解压缩。 以下是如何使用ZlibNet压缩和解压缩二进制...

    数据库水印嵌入提取数据库水印数据库水印

    这可能包括生成随机序列、使用特定算法或与数据库内容关联的特定信息。 3. **水印嵌入**:将水印巧妙地嵌入到数据库记录中,确保不影响数据的正常读取和处理。嵌入方式通常包括在数值字段中添加微小的偏移量、在...

    易语言EDB数据库优化

    1. **压缩文本数据**:对于纯文本数据,可以使用文本压缩算法(如LZ77、LZSS或Huffman编码)进行预处理。这些算法能在保持文本可读性的前提下,显著降低数据的存储需求。 2. **去除重复数据**:通过哈希表检查并...

    HNU数据库原理数据库设计与应用开发大作业

    以上知识点涵盖了“HNU数据库原理数据库设计与应用开发大作业”的核心内容。在实践中,学生需要结合具体的大作业任务,综合运用这些知识,设计出满足需求的数据库系统,并实现相应的应用程序。这个过程将锻炼学生的...

    易语言数据库中图片文件全面操作

    易语言支持多种压缩算法,如ZIP和RAR,可以用来压缩图片文件,减少存储空间占用。同时,还可以通过调整图片质量来平衡存储和显示效果。 最后,"取文件名"这个功能可能是为了获取图片文件的原始名称。在易语言中,...

    Android项目实战--手机卫士13--手机号码归属地的逻辑和数据库的压缩

    2. 表格压缩:对数据库的每一张表进行压缩,可以针对每个表的不同特性选择合适的压缩算法。 3. 列压缩:对数据库的某一列(如文本列)进行压缩,因为这类数据往往有较高的冗余度,适合压缩。 4. 压缩索引:对索引...

    数据压缩系统

    数据压缩系统是信息技术领域中的一个...其核心技术涵盖了汇编语言的低层控制、文本文件的压缩算法,以及数据库管理和用户界面设计。这样的系统对于理解和掌握底层编程、数据库应用以及数据压缩原理都有很高的学习价值。

    时序数据库和LSM1

    为了实现这一点,时序数据库采用了特定的数据结构和算法,如LSM树(Log-Structured Merge-Tree)。 2. **高效查询**:时序数据库设计允许快速执行多维度的聚合查询,例如查询某一时间段内的特定指标,或者按照时间...

    辅臣数据库浏览工具Access(*.mdb)

    在压缩包子文件的文件名称列表中,“DatabaseBrowser.exe”很可能就是这个数据库浏览工具的可执行程序。用户下载并运行这个文件后,就可以启动软件,开始浏览和管理Access数据库。 使用辅臣数据库浏览工具可能会...

    字段里图片的读写

    在实际应用中,为了提高效率和减少存储空间,可以考虑使用压缩算法(如JPEG或PNG)对图片进行编码,然后再进行二进制存储。同时,为了保证图片质量,需要在读写过程中正确处理颜色空间和分辨率。 此外,为了优化...

    MySQL 压缩的使用场景和解决方案

    例如,在插入数据时,先用 `COMPRESS` 对特定列的内容进行压缩,存储到数据库;在查询时,使用 `UNCOMPRESS` 解压数据。这种方法适用于那些重复率高且数据量大的字符类型列(如 CHAR, VARCHAR, TEXT, BLOB),可以...

    机器学习UCI数据库

    总的来说,"机器学习UCI数据库"是研究者和工程师探索、验证和开发新算法的重要资源。通过这些数据集,我们可以训练和测试各种机器学习模型,包括分类、回归、聚类、异常检测等任务。同时,UCI数据集的多样性和广泛性...

Global site tag (gtag.js) - Google Analytics