java如何压缩字符串

zgw0401 2021-03-25 03:11:10
要将字符串存到二维码中,长度不能过长,需要将字符串压缩存进去,扫描后再解压,字符串报错不变
...全文
653 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
冰思雨 2021-04-09
  • 打赏
  • 举报
回复
 先搞清楚字符串的生成规则,然后,确定出字符串的最大长度。 使用算法进行字符串压缩并不是一个很好的解决方案。因为,你无法将一个不确定长度的字符串压缩到指定的范围中。任何压缩算法都会有一个压缩比,而压缩比也不是每种情况都相同,只是一个平均的概率值。 1楼的方法是最合适的方法。 比如你的二维码想保存一个网址,网址的长短是不确定的,这时,你可以把这个网址存到数据库中,然后,利用数据的id 生成一个短网址,这个短网址只干一件事情,就是根据短网址中的id 跳转到数据库中所保存的那个网址。 这里面只要注意两点即可,1. 短网址的跳转服务必须部署到外网;2.跳转服务也可以开放一个生成接口出来,用来将任意网址转换成短网址。这样的话,无论内外网,都使用相同的跳转服务和生成接口,就可以了,没必要非得区分内外网,生成和跳转统一使用外网服务即可。
1100101001 2021-04-09
  • 打赏
  • 举报
回复
将字符串内容压缩为二进制编码,扫描后调用解压方法。
月明星稀灬 2021-04-07
  • 打赏
  • 举报
回复
可以参考一下最简单的 哈夫曼算法
s478853630 2021-03-26
  • 打赏
  • 举报
回复
引用 6 楼 qq_40983892 的回复:
[quote=引用 5 楼 s478853630 的回复:]压缩字符串可以考虑gzip,解压用gunzip
不知道是不是有中文的原因,压缩之后长度还变长了[/quote] 字符串越长,压缩的比例就越大 如果字符串少于一定的长度,压缩后反而会变长,这个正常
zgw0401 2021-03-26
  • 打赏
  • 举报
回复
引用 5 楼 s478853630 的回复:
压缩字符串可以考虑gzip,解压用gunzip
不知道是不是有中文的原因,压缩之后长度还变长了
s478853630 2021-03-26
  • 打赏
  • 举报
回复
压缩字符串可以考虑gzip,解压用gunzip
zgw0401 2021-03-25
  • 打赏
  • 举报
回复
引用 1 楼 huoxin4415 的回复:
可以换个思路,生成一个短码,将短码和源码的映射关系保存在数据库中
生成和扫描是两个项目,可能存在内外网的场景,所以不能存映射关系到数据库
比特灵 2021-03-25
  • 打赏
  • 举报
回复
自己说了不算,要看是谁扫描、扫描后谁接管。
KeepSayingNo 2021-03-25
  • 打赏
  • 举报
回复
可以给字符串定义一个ID,用ID去生成二维码
huoxin4415 2021-03-25
  • 打赏
  • 举报
回复
可以换个思路,生成一个短码,将短码和源码的映射关系保存在数据库中

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧