zoukankan      html  css  js  c++  java
  • base64编码

    BASE64编码

    什么是BASE64编码

    BASE64是一种编码方式,通常用于把二进制数据编码为可写的字符形式的数据。这是一种可逆的编码方式。

    编码后的数据是一个字符串,其中包含的字符为:A-Z、a-z、0-9、+、/

    一共有65个字符:26个大写字母,26个小写字母 ,10个阿拉伯数字 ,+,/,=

    (ps:“=”是用来补位的,要把一个字符串凑成4个每6个一组的形式)

    BASE64编码能解决什么问题(查找网络所得)

    1.可以作为一种简单的”加密“方式,让信息无法被直接读取,且翻译速度快,补位简单,只需要在前面加0到8位

    2.一些邮件服务器在早期只支持发送base64编后的字符串,而不支持二进制表示的01串,并且经过base64编码后的结果都是ASCII低128位(ASCII可见码属于0~127,128~255属于不可见字符),这样适合用电子邮件来传送二进制数据

    3.对证书来说,特别是根证书,一般都是作Base64编码的,因为它要在网上被许多人下载。电子邮件的附件一般也作Base64编码的,因为一个附件数据往往是有不可见字符的。

    4.ascii码的128~255之间的值是不可见字符,而在网络上交换数据时,往往要经过多个路由设备,由于不同的设备对字符的处理方式有一些不同,这样那些不可见字符就有可能被处理错误,这是不利于传输的。所以就先把数据先做一个Base64编码,统统变成可见字符,这样出错的可能性就大降低了。

    自己的学号和姓名用BASE64编码和解码(工具真方便)

    梁辰鱼~5qKB6L6w6bG8

    20201307~MjAyMDEzMDc=

    使用Python编程实现BASE64编码和解码

    过程比较艰辛,首先我先学了怎么用python编程,我使用了idle来完成。(不知为什么我的pycharm出问题了。。。)之后,我发现无从下手,我不知道怎么去编程序,也不知道写什么代码,在书上也没发现相关内容,我就自己去网上学习,最后也在指导下解决了问题。

    代码:

    import base64 ——加载base64模块 str='20201307' ——输入要编码的字符串

    str=str.encode('utf-8') ——把字符串赋给str用utf-8编码(base64不能直接识别字符串) a=base64.b64encode(str)——把刚才输入的str的编码值赋给a print(a)——打印a b=base64.b64decode(a)——把a(编码后的字符串)解码后的值赋给b print(b)——打印b

    以上就是我对该代码的理解


    输出内容:

    === RESTART: C:/Users/lenovo/AppData/Local/Programs/Python/Python38/2222/4.py == b'bGN5' b'lcy'

    === RESTART: C:/Users/lenovo/AppData/Local/Programs/Python/Python38/2222/4.py == b'MjAyMDEzMDc=' b'20201307'

     

  • 相关阅读:
    PAT-1011 World Cup Betting 解答(with python)
    2016-7-4收藏夹接口
    接口
    ssh框架开发问题
    sql语句的各种模糊查询
    SSH集成开发框架开发步骤
    Struts+Hibernate+Spring实现用户登录功能
    SQL Server 2008 下载及安装教程
    Struts和SpringMVC两种MVC框架比较
    JSP中乱码问题
  • 原文地址:https://www.cnblogs.com/yu15141310373/p/13810397.html
Copyright © 2011-2022 走看看