标签: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'
标签:tab radius base base64编码 ++ ons bsp ott 内置模块
原文地址:http://blog.51cto.com/13502993/2151828