文件与base64互转

发布时间 2023-10-09 15:45:01作者: 你的小可爱吖

 

import base64


def file_to_base64(file_path: str):
    """
    把文件转为base64编码
    :param file_path: 文件路径
    :return: base64编码
    """
    # 读取文件内容
    with open(file_path, 'rb') as file:
        content = file.read()

    # 将文件内容转换为Base64编码
    encoded_content = base64.b64encode(content)

    # 将Base64编码转换为字符串  
    encoded_str = encoded_content.decode('utf-8')

    return encoded_str


def base64_to_file(base64_str: str, file_name: str):
    """
    把base64编码转换为文件
    :param base64_str: base64编码字符串
    :param file_name: 文件名称
    """
    # Base64解码
    decode_content = base64.b64decode(base64_str)

    # 内容写入文件
    with open(file_name, 'wb') as file:
        file.write(decode_content)


if __name__ == '__main__':
    # 把文件转为base64编码
    file_path = '/东西/文件与base64互转/xxxx.xlsx'  # 请将此路径替换为你的文件路径
    base64_str = file_to_base64(file_path)
    print(base64_str)

    # 把base64编码转换为文件
    base64_to_file(base64_str, "./xxx.xlsx")