php算法问题

请问有算法可以把字符串缩短吗?需要可逆的  比如 12345678910111213141516  缩短到4-5位数 "12345678910111213141516" 是随机字符串。

阅读 3.1k
5 个回答

比如十进制的100。

二进制表示为:    1100100
八进制表示为:    144
十六进制表示为:   64

字符串Hash了解下~
把每一个字符当成整数,相加或相乘后模个素数,当成整数保存

分情况讨论:

  1. 如果你的字符串非常长,那是不是可以考虑zip 压缩下
  2. 如果你的字符串不是很长,比如0 - 100 长度,如果要求字符可见,那可以考虑base64 压缩几个字符为1个字符;如果不要求字符可见,那你可以考虑几个字符编码为一个二进制字符(毕竟一个byte 可以编码255中情况)

考虑带有预定义 Huffman 压缩算法。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题