美文网首页
python:base64模块使用

python:base64模块使用

作者: 玩转测试开发 | 来源:发表于2021-09-05 00:22 被阅读0次

    引言:由于某些系统中只能使用ASCII字符。base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法。而且base64特别适合在http,mime协议下快速传输数据。

    简介:base64模块可以实现图片,音频,视频等格式与字符之间进行相互转化,同时用来作base64编码解码,它是一个内置模块,通过import base64直接使用。

    转化方面
    图片,音频,视频 >> 字符编码:b64encode() # 编码
    字符编码 >> 图片,音频,视频:b64decode() # 解码

    源码:图片,音频,视频和字符编码,相互转换。

    import base64
    
    # 图片,音频,视频  >> 字符编码
    
    # my_file = "w3.wav"  # 音频
    # my_file = "t1.ts"  # 视频
    my_file = "pic.png"  # 图片
    
    with open(my_file, mode="rb") as f:  # 注意是rb模式
        base64_data = base64.b64encode(f.read())
        print(type(base64_data))  # <class 'bytes'>
        print(base64_data)
    
    data = b'/9j/xxxxx'  # 是上面的base64_data。 过长,进行了删除。
    
    # 字符编码 >> 图片,音频,视频
    new_file = "a.png"
    with open(new_file, "wb") as f:  # 注意是wb模式
        f.write(base64.b64decode(data))  # b64decode解码
    
    

    base64模块加密,解密:

    
    import base64
    
    a = "This is a test."
    bs = str(base64.b64encode(a.encode('utf-8')), "utf-8")
    
    # 转码:VGhpcyBpcyBhIHRlc3Qu
    print('转码:' + bs)  
    
    # 解码:This is a test.
    print('解码:'+str(base64.b64decode(bs), "utf-8")) 
    

    以上,即base64模块案例说明。

    微信公众号:玩转测试开发
    欢迎关注,共同进步,谢谢!

    相关文章

      网友评论

          本文标题:python:base64模块使用

          本文链接:https://www.haomeiwen.com/subject/vvaswltx.html