以下是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编码后的字符串作为输入,返回解码后的原始字符串

RLE编码解码 python实现

原文地址: https://www.cveoy.top/t/topic/irxl 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录