我已经编写了这些实用程序功能:
import base64
def der2str(der):
return bin2str( base64.encodebytes(der) )
def str2der(str_):
return base64.b64decode( str2bin(str_) )
def bin2str(binary):
return binary.decode('utf8')
def str2bin(str_):
return str_.encode('utf8')
我跑步:
if __name__ == '__main__':
test = 'MIIEowIBAAKCAQEA6cVU+6GZyr1jaxvJcLEdRb9cicL/4Soe/HqN+gE/UdM5C71aG6HhNSplj1qi\nX8Abffen'
print(test)
print(der2str(str2der(test)))
但是输出是:
MIIEowIBAAKCAQEA6cVU+6GZyr1jaxvJcLEdRb9cicL/4Soe/HqN+gE/UdM5C71aG6HhNSplj1qi
X8Abffen
MIIEowIBAAKCAQEA6cVU+6GZyr1jaxvJcLEdRb9cicL/4Soe/HqN+gE/UdM5C71aG6HhNSplj1qi
X8Abffen
为什么我在第二张纸上又多了两行?
base64.encodebytes(s)的文档状态为插入换行符>>
对类似字节的对象s进行编码,该对象可以包含任意二进制数据,并返回包含base64编码数据的字节,并在每输出76个字节后插入换行符(b'\ n'),并确保有一个尾随换行符,根据RFC 2045(MIME)。