什么是 txt 文件或字符串中每个字符的熵以及如何在 java 中做到这一点?

What is Entropy of each character in a txt file or in a string and how to do it in java?

我已经看到了一些与此主题相关的问题和答案。但它们实际上是和python数学相关的。我想了解 txt 文件或字符串中字符的熵是什么意思,以及使用 Java 语言找到它的可能方法是什么。

谢谢。

孤立的单个字符不具有熵(好吧,我想我们可以说我们有 N 分之一的机会猜测它,对于 N 个可能字符的字母表)。 'Entropy'是没有顺序。因此,越'random'一个字符在上下文中,它的熵就越高。

考虑五个字符的序列 'banan'。如果下一个字符是 'a',它的熵很低——整个序列很可能是单词 'banana'.

为了通过程序确定熵,您需要了解概率。如果域是 'words',那么您至少需要知道一个字母从特定的短序列中跟随的可能性。或者,给定一个相当完整的字典,您可以计算该可能性。

还有更多的技术描述,比如对字符串进行编码所需的最少位数。那是你的想法吗?例如,参见 this Wikipedia page