alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"

def encode(byteArray):
charArray = [0] * (((len(byteArray) + 2) // 3) * 4)
val = 0
groupIndex = 0
groupCount = 0
for index, byte in enumerate(byteArray):
if index % 3 == 0:
val = (0xFF & byte)
groupCount += 1
elif index % 3 == 1:
val <<= 8
val |= (0xFF & byte)
groupCount += 1
elif index % 3 == 2:
val <<= 8
val |= (0xFFFF & byte)
for i in range(4):
charArray[groupIndex * 4 + (3 - i)] = alphabet[val & 0x3F]
val >>= 6
groupIndex += 1
groupCount = 0
else:
if groupCount > 0:
for i in range(3 - groupCount):
val <<= 8
for j in range(4):
if j < 3 - groupCount:
charArray[groupIndex * 4 + (3 - j)] = '='
val >>= 6
else:
charArray[groupIndex * 4 + (3 - j)] = alphabet[val & 0x3F]
val >>= 6
return "".join(charArray) s = 'adfdasf'
t = encode(s.encode())
assert t=="YWRmZGFzZg=="

python base64编码实现的更多相关文章

  1. Python Base64 编码

    0x00 Base64简介 0x01 常用场景举例 0x02 编.解码流程 0x03 Python中Base64编码与解码 0x00 Base64简介 我们知道在计算机中任何数据都是按ascii码存储 ...

  2. Python base64编码,转图片

    我在做火车票抢票器的时候遇到一个问题,就是验证码提取的:一般验证码都是一些http请求的url,但是火车票网站遇到了我没有见过的以data:image/jpg;base64开头的字符串.现在我们就用P ...

  3. python base64编码和解码图片

    简介 在实际项目中,可能需要对图片进行大小的压缩,较为常见的方法则是将图片转换为base64的编码,本文就python编码和解码图片做出一定的介绍. 代码 import base64 import o ...

  4. Python Base64编码解码

    import base64 str = '12345678'.encode('utf8') print(base64.b64encode(str).decode('utf8')) # 编码 接收的参数 ...

  5. Python中进行Base64编码和解码

    Base64编码 广泛应用于MIME协议,作为电子邮件的传输编码,生成的编码可逆,后一两位可能有“=”,生成的编码都是ascii字符.优点:速度快,ascii字符,肉眼不可理解缺点:编码比较长,非常容 ...

  6. Python和shell中Base64编码使用那些事

    做开发第一个接触的编码方式就是Base64,当时是用url来传输一些参数,传输的两端会用Base64来编码和解码,保证数据不被url转义破坏. 下面是 维基百科 Base64 中的介绍,其实自己实现起 ...

  7. python 应用 base64、hmac、hashlib包实现:MD5编码 base64编码解码、SHA256编码、urlsafe_b64encode编码等等基本所有的加密签名的方法

    用python做HTTP接口自动化测试的时候,接口的很多参数是经过各种编码加密处理后在传到后台的,这里列举出python实现 应用 base64.hmac.hashlib包实现:md5编码 sha1编 ...

  8. 自己用 python 实现 base64 编码

    自己用 python 实现 base64 编码 base64 编码原理 二进制文件中包含有很多无法显示和打印的字符,二进制的数据一般以 ASCII 码形式(8 bit,即一个字节)存储,8 bit 可 ...

  9. Python中的Base64编码的加密与解密

    Base64 可以干些啥? Base64编码的作用: 由于某些系统中只能使用ASCII字符.Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法. 图片(and种子)base64 ...

随机推荐

  1. 爬虫(一)—— 请求库(一)requests请求库

    目录 requests请求库 爬虫:爬取.解析.存储 一.请求 二.响应 三.简单爬虫 四.requests高级用法 五.session方法(建议使用) 六.selenium模块 requests请求 ...

  2. putchar(".:-=+*#%@"[(int)(d * 5.0f)])

    前两天在玩知乎时候见到有个用C语言画心的小代码感觉还是蛮好玩的,不过,里面有行代码看了好久才懂: putchar(".:-=+*#%@"[(int)(d * 5.0f)]); ,先 ...

  3. 42.Flatten Binary Tree to Linked List

    Level:   Medium 题目描述: Given a binary tree, flatten it to a linked list in-place. For example, given ...

  4. db2备份与恢复

    备份数据库: 离线备份 1.连接至数据库: db2 connect to test user db2admin using db2admin 2.显示数据库应用状态 db2 list applicat ...

  5. STM8硬件设计注意事项

    1.中断 STM8的外部中断和STM32不一样,每个端口PX只有1个中断 2.ADC 1)Additional AIN12 analog input is not selectable in ADC ...

  6. go语言从例子开始之Example18_1.结构体中定义方法

    Go 支持在结构体类型中定义方法 . Example: package main import "fmt" type product struct{ name string num ...

  7. 联想think system sr550信息

    带外管理口 默认IP地址:192.168.70.125 默认用户名密码 USERID PASSW0RD    0是数字0

  8. STL sort源码剖析

    转载自:http://www.cnblogs.com/imAkaka/articles/2407877.html STL的sort()算法,数据量大时采用Quick Sort,分段递归排序,一旦分段后 ...

  9. Node的优点和缺点

    (优点)因为Node是基于事件驱动和无阻塞的,所以非常适合处理并发请求, 因此构建在Node上的代理服务器相比其他技术实现(如Ruby)的服务器表现要好得多. 此外,与Node代理服务器交互的客户端代 ...

  10. 【串线篇】SpringMvc源码分析

    一.DispathcherServlet结构分析 1).所有请求过来DispatcherServlet收到请求, 2).调用doDispatch()方法进行处理 1).getHandler():根据当 ...