0

假设我们有以下字符串:

q8GDNG8h029751
DNS
stackoverflow.com
28743.8.4.919
q7Q5w5dP012855
Martin_Luther
0000000100000000-0000000160000000
1344444967\.962
ExTreme_penguin

显然,其中一些可以被我们的大脑归类为包含信息的字符串,这些字符串对人类具有某种“意义”。另一方面,像“q7Q5w5dP012855”这样的字符串肯定是一些代码,可能只对计算机有意义。

我的问题是:我们能否计算出字符串实际上可以告诉我们某些事情的概率?

我对频率分析或计算大写字母等有一些想法,但如果有一些更“科学”的东西会很方便

4

1 回答 1

1

如果您知道字符串所在的语言,则可以对该语言中的单词使用 digram 或 trigram 字母频率。这些是非常小的查找表 [26 x 26] 或 [26 x 26 x 26] 每个条目可以是一个浮点数,它是该字符串在语言中出现的概率。对于无意义的字符串,其中许多将为零。您可以将它们相加或简单地计算零概率序列的数量。

当然,这需要为每种语言进行设置。

于 2013-08-05T13:54:14.420 回答