哈夫曼编码定义
哈夫曼编码是一种编码格式,属于可变字长编码的一种,该方法依照字符出现的概率来构建异字头的平均长度最短的码字,最终实现根据使用频率来最大化节省码字(字符)的存储空间和提高传输效率的目的,在数据压缩和通讯领域应用的非常广泛。
哈夫曼编码的码字是异前置码字,任一码字不会是另一码字的前面部分,这样各种码字可以连在一起传输,中间无需空格分离但又不会混淆。
Kotlin 中对字符串进行哈夫曼解码
相对于 Kotlin 中实现哈夫曼编码,解码的流程则简单很多:
1. 将待解码的 byte 数组转回二进制字符串
// 存储byte数组转化来的二进制字符串,用以比较和替换哈夫曼编码
var decodeResult = StringBuffer()
// 将byte数组转化为二进制字符串
for(count in