Gamma压缩与解压
来源:互联网 发布:linux中oracle启动监听 编辑:程序博客网 时间:2024/05/17 03:03
#!/usr/bin/python# coding:utf-8def to_bin(num): a = int(num) mid = [] str = '' while True: if a == 0: break a, rem = divmod(a, 2) mid.append(rem) mid.reverse() for i in mid: str = str + '%d' % i return strdef Gamma(num): cur = '' # 偏移 num_bin_coding = to_bin(num) # 二进制编码 cod_length = len(num_bin_coding) # 编码长度 length = '1' * (cod_length - 1) + '0' # 长度 for i in range(1, cod_length): cur = cur + '%s' % num_bin_coding[i] return length + curdef decompression(str): i = 0 temp = 0 num = 0 b = [] while(i < len(str)): if(str[i] != '1'): a = [1] j=0 for j in range(1, i - temp + 1): a.append(int(str[i + j])) a.reverse() for k in range(0, len(a)): num = num + a[k] * (2**k) b.append(num) i = i + j temp = i + 1 num = 0 i=i+1 return bstr1=Gamma(1)str2 = Gamma(511)str3 = Gamma(131)print (str1)print (str2)dep = decompression(str1 + str2 + str1 + str1 + str3 + str1)print (dep)
0 0
- Gamma压缩与解压
- 文件压缩与解压
- java 压缩与解压
- tar 压缩与解压
- iPhone压缩与解压
- 压缩与解压命令
- 压缩与解压
- linux 压缩与解压
- ZIP压缩与解压
- tar解压与压缩
- p7zip 压缩与解压
- tar压缩与解压
- Linux压缩与解压
- ZipArchive 压缩与解压
- 压缩与解压命令
- Linux压缩与解压
- linux 解压与压缩
- 压缩与解压
- C-013.break和continue的作用和区别,它们的使用场景分别是什么?
- spring annotation注解
- 013 menu控件使用
- Linux命令收集
- json语法
- Gamma压缩与解压
- 【LeetCode】258.Add Digits
- Windows下安装设置Atlassian-Confluence-5.1.4并破解汉化(另附图解)
- 【Codeforces Beta Round 2A】【模拟 map 有map的java实现哦】Winner 第一个达到最终最高分的人名
- 我的JavaScript设计模式
- Java流 学习笔记
- kdiff3工具
- 编译和运行
- 说说 Wine + QQ 轻聊版 7.7 的安装步骤