码迷,mamicode.com
首页 > 编程语言 > 详细

python 内置模块:base64

时间:2018-07-29 17:49:25      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:tab   radius   base   base64编码   ++   ons   bsp   ott   内置模块   

base64编码规则: 

24bit的二进制数

           |

    分成4组,不足补\x00

           |

每组编码成1个字节(用64个ASCII码中的字符表示),总共4个字节,不足补=



import base64

a = base64.b64encode(b'12Abc')
print (a)
print (str(a, 'utf-8'))

b = base64.b64decode(a)
print(b)
print (str(b, 'utf-8'))

运行结果:

b'MTJBYmM='
MTJBYmM=
b'12Abc'
12Abc


但,编码后可能存在'+'或'\'号, 在URL中不允许,所以需要通过url safe进行转换:+ -->  -     \  --> _

import base64

a = base64.b64encode(b'i\xb7\x1d\xfb\xef\xff')
print (a)

c = base64.urlsafe_b64encode(b'i\xb7\x1d\xfb\xef\xff')
print(c)
print(base64.urlsafe_b64decode(c))

运行结果:

b'abcd++//'

b'abcd--__'
b'i\xb7\x1d\xfb\xef\xff'


python 内置模块:base64

标签:tab   radius   base   base64编码   ++   ons   bsp   ott   内置模块   

原文地址:http://blog.51cto.com/13502993/2151828

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!