base64编解码

作者: 陆_志东 | 来源:发表于2018-09-07 11:17 被阅读0次

base64是一种用64个字符进行组合来表示任意二进制数据的方法

原理:

base64会将3个字节作为一组,不够三个字节的会用\x00来补齐三个字节,并使用=来表示补了几个字节(一个=号表示补了一个字节,两个=表示补了两个字节),然后将这3个字节的数据编码成4个字节.所以使用base64编码后,数据的长度会增加33.33333%

base64编码的64个字符:

['A', 'B', 'C', ... 'a', 'b', 'c', ... '0', '1', ... '+', '/']

由上面的数组可以看出编码后可能会出现+和/所以不能使用b64encode应用于网址编码
应该使用urlsafe_b64encode. urlsafe_b64encode+变成了- ;将/ 变成了_

注意:base64和hashlib一样不接收unicode字符,只接受字节(字节数组)
代码示例:

import base64

str1 = "哈哈"
print(len(str1))
>>2
normal_bytes = str1.encode("utf-8")
print(normal_bytes)
>>b'\xe5\x93\x88\xe5\x93\x88'
print(len(normal_bytes))
>>6
base64_bytes = base64.b64encode(str1.encode("utf-8"))
print(base64_bytes)
>>b'5ZOI5ZOI'
print(len(base64_bytes))
>>8

由上面看出base64编码后的数据也是二进制数据

相关文章

  • 编码

    TextEncoder, TextDecoder(实验中的功能) base64 编解码 Base64编码作用:由于...

  • C语言实现base64编解码

    base64编解码 工作中经常会用到base64编解码, 有些开源库中也有实现, 但是如果再去看他们的怎么用有时候...

  • iOS7 base64编解码

    文档 使用 参考 使用Base64编解码NSData和NSString对象

  • base64

    Python内置的base64可以直接进行base64的编解码: 由于标准的Base64编码后可能出现字符+和/,...

  • 批处理下的Base64编解码

    文件版 命令:certutil /?,参考 批处理版Base64编码工具 BASE64编解码工具bse.exe 字...

  • Android-加密机制详解

    编解码 Base64编码算法 Base64编码算法是一种用64个字符(ABCDEFGHIJKLMNOPQRSTUV...

  • Base64编码简单总结

    1 Base64编码原理 随着iOS7正式版推出,Apple增加了使用Base64编解码的支持。Base64编码之...

  • base64图片和字符串编解码详细过程

    base64图片和字符串编解码详细过程 base64图片编码过程 1、读取图片路径 NSString *path...

  • 在线工具

    在线编码工具:• BASE64编解码工具:https://base64.supfree.net/[https://...

  • 如何用终端命令&iOS代码base64编解码?

    『导语』 在iOS开发中base64如何用xcode进行编解码?如何用终端进行编解码?我将用以下例子说明:(xco...

网友评论

    本文标题:base64编解码

    本文链接:https://www.haomeiwen.com/subject/auoqgftx.html