zoukankan      html  css  js  c++  java
  • Python Base64转码解码

    Python Base64 提供了好几种方法例如:
    encode,
    decode,

    encodestring,
    decodestring,

    b64encode,
    b64decode,

    standard_b64encode
    standard_b64decode

    urlsafe_b64decode,
    urlsafe_b64encode。

    1. encode, decode
      用来转码和 解码文件的,也可以对StringIO里的数据做编解码

      
      #读取文件进行编码
      
      inputRead = open('/Users/Mr_Chen/Desktop/test.jpeg','rb')
      outputWrit = open('/Users/Mr_Chen/Desktop/testEncode.txt','wb')
      
      #编码文件
      
      base64Test = base64.encode(inputRead,outputWrit)
      
      
      
      #读取文件后进行解码
      
      inputRead = open('/Users/Mr_Chen/Desktop/testEncode.txt','rb')
      outputWrit = open('/Users/Mr_Chen/Desktop/testDecode.jpeg','wb')
      
      #解码文件
      
      base64Test2 = base64.decode(inputRead,outputWrit)
    2. encodestring, decodestring,
      对字符串进行转码,解码

      import base64
      str1 = 'This is Test String'
      
      
      #对字符串进行转码
      
      enTest = base64.encodestring(str1)
      print '转码后:',enTest
      
      
      #对字符串进行解码
      
      deTest = base64.decodestring(enTest)
      print '解码后:',deTest
    3. b64encode,b64decode,
      (base64 模块提供了 b16encode,b16decode,b32encode,b32decode)
      用来编码和解码字符串,并且有一个替换符号字符的功能。当base64编码后的字符除 了英文字母和数字外还有三个字符 + / =,用提替换到 +/= 这些字符

      
      # -*- coding:utf-8 -*-
      
      import  base64
      
      
      
      #读取文件进行base16转码
      
      inputRead = open('/Users/Mr_Chen/Desktop/test.txt','rb')
      base16Test = base64.b16encode(inputRead.read())
      inputRead.close()
      print  'base16 Encode:',base16Test
      
      
      #进行base16解码
      
      base16Test2 = base64.b16decode(base16Test)
      print 'base16 Decode:',base16Test2
      
      
      
      
      #读取文件进行base32转码
      
      inputRead2 = open('/Users/Mr_Chen/Desktop/test.txt','rb')
      base32Test = base64.b32encode(inputRead2.read())
      inputRead2.close()
      print  'base32 Encode:',base32Test
      
      
      #进行base32转码
      
      base32Test2 = base64.b32decode(base32Test)
      print 'base32 Decode:',base32Test2
      
      
      
      
      #读取文件进行base64转码
      
      inputRead3 = open('/Users/Mr_Chen/Desktop/test64.txt','rb')
      base64Test = base64.b64encode(inputRead3.read())
      inputRead3.close()
      print  'base64 Encode:',base64Test
      
      
      #进行base64解码
      
      base64Test2 = base64.b64decode(base64Test)
      print 'base64 Decode:',base64Test2
    4. standard_b64encode,standard_b64decode
      进行标准的base64,同样可以进行string ,文件的转码,解码
      使用效果和encodestring 相同

      
      # -*- coding:utf-8 -*-
      
      
      import base64
      
      text = 'This is Test String!'
      
      
      #进行转码
      
      baseStand = base64.standard_b64encode(text)
      print 'baseStand:',baseStand
      
      
      #进行解码
      
      basee = base64.encodestring(text)
      print 'baseEncodeString:',basee
      
    5. urlsafe_b64decode,urlsafe_b64encode
      主要进行对url 的安全转码

      
      # -*- coding:utf-8 -*-
      
      
      import  base64
      
      
      text = "http://www.baidu.com"
      
      
      #baseurl Encode 转码
      
      baseUrl = base64.urlsafe_b64encode(text)
      print "baseUrlEncode:" ,baseUrl
      
      
      #baseurl Encode 解码
      
      baseUrl2 = base64.urlsafe_b64decode(baseUrl)
      print "baseUrlDecode:" ,baseUrl2
      

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    3D开发基础知识和简单示例
    六大设计原则详解
    InnoSetup 根据选择的安装语言显示不同语言的(协议)License和更新说明
    ASP.NET Core如何在.NET Core中构建和运行时禁用浏览器启动
    DevExpress 设置DateEdit显示年月季度
    DevExpress设置单元格不可编辑,选单元格则选中一行
    sql server数据库只有mdf文件,没有ldf,如何加载
    .net core 整洁架构入门
    在ASP.NET Core使用Entity Framework Core的日志显示sql语句
    在ASP.NET Core使用Entity Framework Core的日志
  • 原文地址:https://www.cnblogs.com/xinleishare/p/4793553.html
Copyright © 2011-2022 走看看