您现在的位置是:主页 > news > html5 css3酷炫网站/seo排名优化点击软件有哪些

html5 css3酷炫网站/seo排名优化点击软件有哪些

admin2025/5/24 2:34:44news

简介html5 css3酷炫网站,seo排名优化点击软件有哪些,宁波静态网站建设,如何做商业推广网站文章目录Python实现Base64编码(自己手工写)00. 关于Base64概述01. 解析写在最后的话:这里是一段防爬虫文本,请读者忽略。 本文原创首发于CSDN,作者IDYS 博客首页:https://blog.csdn.net/weixin_41633902/ 本…

html5 css3酷炫网站,seo排名优化点击软件有哪些,宁波静态网站建设,如何做商业推广网站文章目录Python实现Base64编码(自己手工写)00. 关于Base64概述01. 解析写在最后的话:这里是一段防爬虫文本,请读者忽略。 本文原创首发于CSDN,作者IDYS 博客首页:https://blog.csdn.net/weixin_41633902/ 本…

文章目录

  • Python实现Base64编码(自己手工写)
    • 00. 关于Base64概述
    • 01. 解析
    • 写在最后的话:


这里是一段防爬虫文本,请读者忽略。
本文原创首发于CSDN,作者IDYS
博客首页:https://blog.csdn.net/weixin_41633902/
本文链接:https://blog.csdn.net/weixin_41633902/article/details/107812970
未经授权,禁止转载!恶意转载,后果自负!尊重原创,远离剽窃!


Python实现Base64编码(自己手工写)

00. 关于Base64概述

  • Base64编码表
索引对应字符索引对应字符索引对应字符索引对应字符
0A17R34i51z
1B18S35j520
2C19T36k531
3D20U37l542
4E21V38m553
5F22W39n564
6G23X40o575
7H24Y41p586
8I25Z42q597
9J26a43r608
10K27b44s619
11L28c45t62+
12M29d46u63/
13N30e47v
14O31f48w
15P32g49x
16Q33h50y
  • 对输入的字符,每3个字节断开组成一组。对每一组中的三个字节,按照每6个bit断开成4
  • 2**6 =64,因此有了base64编码表
  • 每一段当作一个8bit看其索引值,这个值就是Base64编码表的索引值,找到对应字符。
  • 再次取3个字节,同样处理,直到最后

  • 演示
  1. def对应的ascii码为:0x640x650x66
  2. 011001000110010101100110
  3. 011001000110010101100110
  4. 2562138
  5. ZGVm

  • 末尾的处理
  • 正好3个字节,处理同上
  • 剩下1个或者2个字节,用0补满3个字节
  • 0的字节用=表示

01. 解析

  • 代码
# -*- coding:utf-8 -*-
#@Time : 2020/8/5 10:13
#@Author : idys
#@File : demo13.py
#@Software : PyCharmdef base64(src):ret = bytearray("", encoding="utf-8")  # 定义一个bytearray 类型,可以修改的byte类型length = len(src)r = 0   # 记录补 0 个数,之后会替换为 =for offset in range(0, length, 3):if offset+3 <= length:    #判断是否满足凑够三个字节,能凑够三个字节,则计算,不能凑够则补0triple = src[offset:offset+3]else:triple = src[offset:]r = 3 - len(triple)   # 计算补0的个数triple = triple + "\x00"*rb = int.from_bytes(triple.encode(), "big")  # 大端对齐for i in range(18, -1, -6):if i == 18:index = b >> i   # 6个bit,6个bit一起else:index = b >> i & 0x3f   # 0x3f 的值为 0011 1111ret.append(alphabet[index])   # 最佳Base64 编码for i in range(1, r+1):ret[-i] = 0x3D   # 不够的部分补 =return retif __name__ == "__main__":alphabet = b"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"#  base64 编码表print(base64("how areyou").decode("utf-8"))
  • 运行结果
aG93IGFyZXlvdQ==

写在最后的话:

  • 无论每个知识点的难易程度如何,我都会尽力将它描绘得足够细致
  • 欢迎关注我的CSDN博客,IDYS’BLOG
  • 持续更新内容
    linux基础 | 数据通信(路由交换,WLAN) | Python基础 | 云计算
  • 如果你有什么疑问,或者是难题。欢迎评论或者私信我。你若留言,我必回复!
  • 虽然我现在还很渺小,但我会做好每一篇内容。谢谢关注!