import lz4.block as lb
import base64
import json
def decompressData(data,length):
playlist = lb.decompress(data,uncompressed_size=int(length))
return playlist
def compressData(data):
compressed = lb.compress(data,store_size=False) #設置store_size爲false,不在壓縮數據中保存數據長度相關信息
return compressed
def decompressPlay(play):
"""
解壓數據
:param play:字典:將要解壓的數據長度和加密的壓縮數據
:return:string 解壓後的數據
"""
data = play['data']
length = play['length']
data1 = base64.b64decode(data.encode('utf-8')) # 編碼爲byte類型後進行base64解密
data2 = decompressData(data1, length)
return data2.decode('utf-8')
def compressPlayList(data):
"""
執行壓縮playlist的數據
:param data: string類型,將要壓縮的數據
:return: 返回壓縮後的字典數據json字符串形式,數據長度和壓縮加密後的數據字符串
"""
readyToCompress = data.encode('utf-8')
playList = {}
playList['length']=len(readyToCompress)
print(len(readyToCompress))
compressed = compressData(readyToCompress) #執行數據壓縮,壓縮後的數據爲byte類型
database64 = base64.b64encode(compressed)
python LZ4 壓縮數據和解壓數據
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.