写点什么

Python 中 base64 编码与解码

作者:AlwaysBeta
  • 2022 年 3 月 01 日
  • 本文字数:703 字

    阅读完需:约 2 分钟

base64 是经常使用的一种加密方式,在 Python 中有专门的库支持。


本文主要介绍在 Python2 和 Python3 中的使用区别:


在 Python2 环境:


Python 2.7.16 (default, Mar 25 2021, 03:11:28)[GCC 4.2.1 Compatible Apple LLVM 11.0.3 (clang-1103.0.29.20) (-macos10.15-objc- on darwinType "help", "copyright", "credits" or "license" for more information.>>>>>> import base64>>> s = 'AlwaysBeta'>>> a = base64.b64encode(s)>>> print aQWx3YXlzQmV0YQ==>>>>>> base64.b64decode(a)'AlwaysBeta'
复制代码


在 Python3 环境:


Python3 中有一些区别,因为 Python3 中字符都是 unicode 编码,而 b64encode 函数的参数为 byte 类型,所以必须先转码。


Python 3.8.5 (default, Jul 21 2020, 10:42:08)[Clang 11.0.0 (clang-1100.0.33.17)] on darwinType "help", "copyright", "credits" or "license" for more information.>>>>>> import base64>>> a = base64.b64encode('AlwaysBeta'.encode('utf-8'))>>> ab'QWx3YXlzQmV0YQ=='>>> str(a, 'utf-8')'QWx3YXlzQmV0YQ=='>>>>>> base64.b64decode(a)b'AlwaysBeta'>>> str(base64.b64decode(a), 'utf-8')'AlwaysBeta'
复制代码


以上就是本文的全部内容,如果觉得有用的话欢迎点赞转发,多谢。




推荐阅读:


  • 计算机经典书籍(含下载方式)

  • 技术博客 硬核后端开发技术干货,内容包括 Python、Django、Docker、Go、Redis、ElasticSearch、Kafka、Linux 等。

  • Go 程序员 Go 学习路线图,包括基础专栏,进阶专栏,源码阅读,实战开发,面试刷题,必读书单等一系列资源。

  • 面试题汇总 包括 Python、Go、Redis、MySQL、Kafka、数据结构、算法、编程、网络等各种常考题。

发布于: 刚刚阅读数: 2
用户头像

AlwaysBeta

关注

微信公众号:AlwaysBeta 2017.11.30 加入

后端开发,技术栈:Python,Django,Go,Redis,RabbitMQ,Kafka,Elasticsearch,MySQL

评论

发布
暂无评论
Python 中 base64 编码与解码_Python_AlwaysBeta_InfoQ写作平台