一、Ad Hoc Text Compression
特别的文本压缩。在一些简单的,直观的想法的情况下,压缩必须是可逆的(无损的)。如果文本包含许多空格,但它们没有聚集,则可以删除它们,其位置由位字符串表示,每个文本字符包含0,而不是空格,每个空格包含1。
例如文本 : Here are some ideas
文本被编码为位字符串0000100010000100000000000100000,后面跟着文本 Herearesomeideas。
如果空格的数量较小,则位字符串稀疏,可以采用其他方式进行有效地压缩。
二、代码实现
class Ad_Hoc_Text_Compression:
def ad_hoc_text_compression_1(self, input : str):
if len(input) == 0:
return ['1', '']
else:
bitstring = ''
outstring = ''
for alphabet in input:
bitstring += '0' if alphabet != ' ' else '1'
outstring += alphabet if alphabet != ' ' else ''
return [bitstring, outstring]
input = 'Here are some ideas'
output : ['0000100010000100000', 'Herearesomeideas']
总结
以上就是今天要讲的内容,本文仅仅简单介绍了Ad Hoc Text Compression的相关定义和其中简单代码实的实现方法。
参考
[1] Salomon, David, and Giovanni Motta. Handbook of data compression. London; New York: Springer, 2010.
本文部分参考自《Handbook of Data Compression 》,该内容仅供学习研究之用,如若喜欢请支持购买正品书籍。
转载本文请联系原作者获取授权,同时请注明本文来自池鱼醉故渊博客。