我在Python中有一个base64情况我无法弄明白 - 当我运行我的脚本时:
import rebus
import os
# Set directory
os.chdir('/Users/Ryan/')
# Filename from folder
filename = 'Ryan20160708.txt'
# Create the base64 of the filename
filenameenc = rebus.urlsafe_b64encode(filename)
filebase64 = filenameenc.rstrip()
# Print these for developer
print("Your filename is: " + filename)
print("The base64 encoded filename is: " + filebase64)
我得到以下结果:
Your filename is: Ryan20160708.txt
The base64 encoded filename is: UnlhbjIwMTYwNzA4LnR4dAoK
这个较大的脚本用于API帖子中,我不断重新发现500
个错误。当我更仔细地查看base64名称并意识到它与https://www.base64encode.org/上的内容不匹配时,它会返回UnlhbjIwMTYwNzA4LnR4dA==
而不是UnlhbjIwMTYwNzA4LnR4dAoK
。刚刚过去的几个角色。
我唯一注意到的是,当我将base64放入网站并将其解码回文件名时,它会返回正确的文件名(Ryan20160708.txt
),但它下面有两个换行符。虽然我已经用rstrip()
剥离了它的任何额外空格 - 所以我很卡住了。有什么建议吗?
答案 0 :(得分:0)
如果您阅读了PyPI:https://pypi.python.org/pypi/rebus/0.2
您会看到rebus用于:
生成由字母数字符号组成的base64编码字符串 仅
如果你真的在寻找base64编码,我怀疑这是你想要的。您可能只想要base64,如:
import base64
import os
# Set directory
os.chdir('/Users/Ryan/')
# Filename from folder
filename = 'Ryan20160708.txt'
# Create the base64 of the filename
filenameenc = base64.b64encode(filename)
filebase64 = filenameenc.rstrip()
# Print these for developer
print("Your filename is: " + filename)
print("The base64 encoded filename is: " + filebase64)
哪个会给你
Your filename is: Ryan20160708.txt
The base64 encoded filename is: 'UnlhbjIwMTYwNzA4LnR4dA=='