资源简介
js 通过lz77压缩文本上传到后端,进行解压,大文本上传提交时很好的一个压缩解压的处理方式
代码片段和文件信息
package abc;
import java.util.HashMap;
import java.util.Map;
public class Lz77 {
public static char[] NC= “ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789~!@#$%^&*()-=[];‘./_+{}|:\“<>?“.toCharArray();
public static Map CN = new HashMap();
static{
for(int i =0;i CN.put(NC[i]i);
}
}
public static String Lz77Decompress(char[] input)
{
/*LZ77解压缩算法 - Hutia - JS版*/
/*变量声明*/
int p = 0; //扫描指针
int len = input.length; //输入字符串的长度
StringBuffer output= new StringBuffer();
int match_off = 0; //匹配位置的偏移量
int match_len = 0; //发生匹配的长度
/*循环扫描*/
for (p=0; p {
if (input[p]== ‘‘‘) //如果发现前缀标记
{
if (input[p + 1] == ‘‘‘) //如果是转义前缀
{
output.append(“‘“); //直接输出字符 “‘“
p++; //指针后移,跳过下一个字符
}
else //如果是压缩编码
{
match_off = C2N(input[p+1]+““+input[p+2]+input[p+3]); //取出其 1-3 个字符,算出偏移量
match_len = C2N(input[p+4]+““+input[p+5]); //取出其 4-5 字符,算出匹配长度
output.append(output.substring(match_off match_off + match_len));
p += 5; //指针后移,跳过下5个字符
}
}
else //如果没有发现前缀标记
{
output.append(input[p]); //直接输出相应的字符
}
}
/*输出*/
return output.toString();
}
public static int C2N(String c) //将 92 进制字符串(高位在右)转换为 10 进制数字
{
char []ct = c.toCharArray();
int len = ct.length;
int re = 0;
for (int i=0; i {
re += CN.get(ct[i]) * Math.pow(92 i);
}
return re;
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4384 2013-11-26 10:43 lz77 .js
文件 1964 2013-11-25 08:58 Lz77.java
文件 7410 2013-11-22 10:01 lz77压缩列子.html
----------- --------- ---------- ----- ----
13758 3
- 上一篇:java commons lang3-3.2
- 下一篇:学生考勤信息管理系统
相关资源
- mysql数据处理,java用户登录处理
- jsp模拟酷狗官网源码(附数据库)
- 法律咨询信息系统(java+jsp+sqlserver)
- 煤矿安全管理系统(jsp源码+数据库脚
- Java快速开发平台源码(renren-fast)
- 锐聘学院QST青软JavaWeb十二个打包
- 3.3.6微信支付JAVA版demo
- 基于JSP实现的美食餐饮管理系统(源
- 北大青鸟jsp+servlte服务管理系统
- 都市供求信息网(源码+数据库+文档)
- javaweb网上购物系统源码(附数据库脚
- jsp+servlet+jdbc开发学生信息后台管理系
- JSP选课系统(源码+文档+数据库)
- 基于JSP的超市销售管理系统(源码+
- jsp宠物商店(源码+数据库)
- javaweb校园宿舍系统(附数据库脚本)
- JavaWeb书城项目(附数据库脚本)
- jsp进销存管理系统(源码+数据库+文档
- 基于JAVA_JSP电子书系统(源码+数据库
- Java网络编程知识点总结.xmind
- JSP考试网上报名考试系统(源码+数据
- 一站式Java网络编程 BIO-NIO-AIO资料源码
- jsp讲解
- jsp简单登录
- 基于SSH框架的JavaWeb项目—人员信息管
- javaweb实现的邮件收发系统(附数据库
- shine网上书城(jsp+mysql)
- Java 仿QQ(附客户端以及服务端源码)
- Java TCP IP Socket
- java定时发送邮件(基于quartz)
评论
共有 条评论