1
Puteulanus 136 天前
先用 gzip 之类的压一下再 base64 ?
|
2
drymonfidelia OP @Puteulanus 之前实验过如果原文不是很长,gzip 后会变得更长
|
3
retanoj 136 天前
base64 、base32 、base16 、base58 、base91 、base92 、base36 、base62 、base85 、base128
讲道理号越高,编码的“压缩”效果会越好吧 |
4
wjr2012 136 天前
存在数据库中,短哈希用于 URL ,访问时跳转到实际 URL 。
|
5
rekulas 136 天前
据我所知没有,base64 是 3 字节>>4 字符,已经是目前效率最高的方式了,主要 ascii 码表里很多控制符和不可见字符串,只能做到 64 。。
|
6
liuidetmks 136 天前
|
7
rekulas 136 天前
上面说的 base85 试了下确实存储效率更高,但是有些字符对 url 传输不友好,同理还有个 base91 的。。
|
8
opengps 136 天前
考虑换思路解决不?平常这类问题很多都是靠短网址来压缩长度实现二维码清晰度提高的
|
9
UxwVI042kEc5pNx6 136 天前
@drymonfidelia zlib 可能比 gzip 好一点?
gzip 至少要大于 56 个字符原文才比编码短; zlib 至少 40 个字符原文才比编码短。 或者考虑混合使用? 30 个字符以内直接 base64 ,超过 30 用 zlib ,只是提供一下思路。 |
10
BG7ZAG 136 天前
base16 短一点,也没有/ = 符号
|
11
Dragonphy 136 天前 via Android
https://sqids.org/
非常短,只有 6 位字符 |
12
yolee599 135 天前
base64 会将很多重复的,有规律的数据也编码了,可以将这部分数据进行压缩再编码,压缩算法可以使用 bsdiff ,Hdiffpatch ,Xdelta……这种差分算法
|
13
augustheart 135 天前
短文本压缩,当然是 lz77 系列啊
|