[二维压缩] | Ad Hoc Text Compression


一、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 》,该内容仅供学习研究之用,如若喜欢请支持购买正品书籍。
转载本文请联系原作者获取授权,同时请注明本文来自池鱼醉故渊博客。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值