Python 解码Base64 得到码流格式文本实例

yipeiwu_com6年前Python基础

我就废话不多说了,直接上代码吧!

# coding:utf8
import base64
 
 
def BaseToFlow():
  while True:
    str = input("Please input src: ")
    flag = input("Please input Decode - 1 or Encode - 2: ")
    if str == "":
      str = "ApIAGBcEAAAEBO6x3nLykEEhjWMX1wHs"
    if flag == "":
      flag = "1"
    if flag == "1":
      print("Decoding ...")
      dst = base64.b64decode(str)
      # print(type(dst))
      # <class 'bytes'>
      # print(dst)
      # b'\x02\x92\x00\x18\x17\x04\x00\x00\x04\x04\xee\xb1\xder\xf2\x90A!\x8dc\x17\xd7\x01\xec'
      # print(dst.hex()) --去掉\0x前缀 得到一个字符串
      # 02920018170400000404eeb1de72f29041218d6317d701ec
      HexFormat(dst.hex())
    elif flag == "2":
      print("Encoding ...")
      dst = base64.b64encode(str)
      print(dst)
 
 
def HexFormat(str):
  """
  :param str: 16进制连续字符串
  :return: 码流格式的16进制串
  """
  i = 1
  str2 = ""
  while (i <= len(str)):
    str2 = str2 + str[i - 1] + str[i] + " "
    if (i + 1) %16 == 0 and (i + 1) % 32 != 0:
      str2 = str2 + " "
    elif (i + 1) %32 == 0:
      str2 = str2 + "\n"
    i = i + 2
 
 
if __name__ == '__main__':
  BaseToFlow()

结果:

Please input src: 
Please input Decode - 1 or Encode - 2: 
Decoding ...
02 92 00 18 17 04 00 00 04 04 ee b1 de 72 f2 90 
41 21 8d 63 17 d7 01 ec 

以上这篇Python 解码Base64 得到码流格式文本实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

浅谈Python2、Python3相对路径、绝对路径导入方法

os.path.dirname() 获取父目录 os.path.basename() #获取文件名或者文件夹名 python2缺省为相对路径导入,python3缺省为绝对路径导入 pyt...

Python3实现的简单工资管理系统示例

本文实例讲述了Python3实现的简单工资管理系统。分享给大家供大家参考,具体如下: 工资管理系统要求: 1. 查询员工工资 2. 修改员工工资 3. 增加新员工记录 4. 退出 执行代...

PyQt5实现无边框窗口的标题拖动和窗口缩放

网上找了半天都找不到好用的PyQt5无边框窗口的实现,借鉴部分前辈的窗口拖放代码,自己实现了一下无边框窗口,问题可能还有一点,慢慢改吧 先做个笔记 py文件 #!/usr/bin...

使用k8s部署Django项目的方法步骤

接触了一下docker和k8s,感觉是非常不错的东西。能够方便的部署线上环境,而且还能够更好的利用机器的资源,感觉是以后的大趋势。最近刚好有一个基于django的项目,所以就把这个项目打...

Laravel框架表单验证格式化输出的方法

Laravel框架表单验证格式化输出的方法

最近在公司的项目开发中使用到了 laravel 框架,采用的是前后端开发的模式。接触过前后端开发模式的小伙伴应该都知道,后端返回的数据格式需要尽可能搞得保证一致性,这样前端在处理时也方...