RLE编码解码 python实现
以下是Python中RLE编码和解码的实现示例:
RLE编码:
def rle_encode(data):
encoded_data = ""
count = 1
for i in range(1, len(data)):
if data[i] == data[i-1]:
count += 1
else:
encoded_data += str(count) + data[i-1]
count = 1
encoded_data += str(count) + data[-1]
return encoded_data
data = "AAAABBBCCDAA"
encoded_data = rle_encode(data)
print(encoded_data) # 输出:4A3B2C1D2A
RLE解码:
def rle_decode(encoded_data):
decoded_data = ""
i = 0
while i < len(encoded_data):
count = int(encoded_data[i])
char = encoded_data[i+1]
decoded_data += char * count
i += 2
return decoded_data
encoded_data = "4A3B2C1D2A"
decoded_data = rle_decode(encoded_data)
print(decoded_data) # 输出:AAAABBBCCDAA
以上代码中,rle_encode函数接受一个字符串作为输入,返回RLE编码后的字符串。rle_decode函数接受一个RLE编码后的字符串作为输入,返回解码后的原始字符串
原文地址: https://www.cveoy.top/t/topic/irxl 著作权归作者所有。请勿转载和采集!