• Python(00):base64编码


    Base64是一种用64个字符来表示任意二进制数据的方法。

    用记事本打开exejpgpdf这些文件时,我们都会看到一大堆乱码,因为二进制文件包含很多无法显示和打印的字符,所以,如果要让记事本这样的文本处理软件能处理二进制数据,就需要一个二进制到字符串的转换方法。Base64是一种最常见的二进制编码方法。

    Base64编码会把3字节的二进制数据编码为4字节的文本数据,长度增加33%,好处是编码后的文本数据可以在邮件正文、网页等直接显示。

    Python内置的base64可以直接进行base64的编解码:

    import base64
    
    base64.b64encode(b'binaryx00string') # b'YmluYXJ5AHN0cmluZw=='
    base64.b64decode(b'YmluYXJ5AHN0cmluZw==') # b'binaryx00string'

    由于标准的Base64编码后可能出现字符+/,在URL中就不能直接作为参数,所以又有一种"url safe"的base64编码,其实就是把字符+/分别变成-_

    base64.b64encode(b'ixb7x1dxfbxefxff') # b'abcd++//'
    base64.urlsafe_b64encode(b'ixb7x1dxfbxefxff') # b'abcd--__'
    base64.urlsafe_b64decode('abcd--__') # b'ixb7x1dxfbxefxff'

    Base64是一种通过查表的编码方法,不能用于加密,即使使用自定义的编码表也不行。

    Base64适用于小段内容的编码,比如数字证书签名、Cookie的内容等。

    总结:Base64是一种任意二进制到文本字符串的编码方法,常用于在URL、Cookie、网页中传输少量二进制数据。

  • 相关阅读:
    windowsserver2016系统性能和功能对比介绍
    联想x3650m5服务器安装windows2008R2系统
    Linux修改主机名
    Windows Server 2008 R2 忘记密码的处理方法
    Centos7 安装教程(详细版)
    CentOS 6.5的安装详解(图文详解)
    centos 6.5 忘记用户名和密码
    磁盘阵列的区别和特点
    什么是OSI参考模型?
    MTU是什么?
  • 原文地址:https://www.cnblogs.com/springsnow/p/12566036.html
Copyright © 2020-2023  润新知