2012-02-25 259 views
1

嗨,大家好,我想发送尽可能短的字符串/值。 如果我有以下最短编码,十六进制

1)l23k43i221j44h55uui6n433bb4 
2)124987359824369785493584379 
3)kla^askdjaslkd3AS423$#ksala 

什么是缩短串的术语, 编码?加密?

与此同时,什么是缩短文本字符串,考虑到我只有短信255极限

+3

您正在寻找的短语可能是“无损压缩”。但是这是不可能的,除非你的输入数据有一些已知的结构。输入数据的结构是什么? – 2012-02-25 01:26:27

+1

你在寻找一种压缩算法,我相信哈夫曼是最好的语言,但你的文本看起来相当随机,所以你可能不会得到非常好的压缩 – 2012-02-25 01:27:37

+1

见https://github.com/antirez/smaz – Jason 2012-02-25 01:31:57

回答

2

你要找的期限为compression的最佳方法。基本上,您可以将输入数据转换为更短或长度相同的输出数据。这通常适用于数据中的模式和重复(如abcabcabc)或有限字母表(如第二个示例中)。

13

所以我第一天在监狱里被带到食堂吃午饭,我和一群在那里呆了多年的老人坐在一起。他们中的一个站起来大喊“51!”坐下来,大家都笑了起来。几分钟后,另一名犯人站起来大喊“96!”再次,每个人都笑了起来。

我问旁边的老家伙发生了什么事,他解释说,他们听过很多次对方的笑话,他们刚刚列出了他们的名单,给他们编号,然后大声喊出号码以保存实际上讲笑话的时间。

所以我站起来大叫“23!”

沉默。

我坐下了。 “那么,有些人只是不擅长讲笑话,我想”老人说。


如果你事先知道你要发送的字符串知道,你可以提前分发他们的名单,然后只发送字符串的数量。

+3

真实的故事兄弟。 – 2012-02-25 03:18:20