lzw压缩算法python
时间: 2024-08-12 10:06:17 浏览: 59
LZW (Lempel-Ziv-Welch) 压缩算法是一种无损数据压缩算法,常用于文本文件的压缩,尤其是那些包含大量重复模式的数据,如图像、文本等。在Python中,你可以使用`lzma`模块(从Python 3.3开始作为标准库提供)来实现LZW压缩。
以下是一个简单的LZW压缩和解压的例子:
```python
import lzma
def compress(data):
compressed_data = lzma.compress(bytes(data, 'utf-8'))
return compressed_data
def decompress(compressed_data):
decompressed_data = lzma.decompress(compressed_data)
return decompressed_data.decode('utf-8')
# 示例:
data = "这是一个测试字符串,它包含许多重复的模式。"
compressed = compress(data)
decompressed = decompress(compressed)
print("原始数据:", data)
print("压缩后的数据:", compressed.hex())
print("解压缩后的数据:", decompressed)
```
在这个例子中,`compress`函数将字符串转换为字节流,并使用`lzma.compress`进行压缩;`decompress`函数则对压缩的数据进行解压,并返回字符串。
阅读全文