Mar*_*ica 7 python base64 binaries python-3.x
我是Python的新手,我确实遇到了困扰我的问题.
我使用以下代码来获取我的zip文件的base64字符串表示.
with open( "C:\\Users\\Mario\\Downloads\\exportTest1.zip",'rb' ) as file:
zipContents = file.read()
encodedZip = base64.encodestring(zipContents)
Run Code Online (Sandbox Code Playgroud)
现在,如果我输出字符串,它将包含在b''表示中.这对我来说没有必要,我想避免它.此外,它每76个字符添加一个换行符,这是另一个问题.有没有办法获取二进制内容并代表它没有换行符和尾随和前导b''?
仅作比较,如果我在PowerShell中执行以下操作:
$fileName = "C:\Users\Mario\Downloads\exportTest1.zip"
$fileContentBytes = [System.IO.File]::ReadAllBytes($fileName)
$fileContentEncoded = [System.Convert]::ToBase64String($fileContentBytes)
Run Code Online (Sandbox Code Playgroud)
我确实得到了我正在寻找的确切字符串,没有b''而且每76个字符都没有\n.
Sim*_*ten 14
"编码类似字节的对象s,它可以包含任意二进制数据,并返回bytes包含base64编码的数据,b"\n"在每76个字节的输出后插入换行符(),并确保有一个尾随换行符,符合RFC 2045 (哑剧)."
你想用
"使用Base64对类似字节的对象进行编码并返回编码bytes."
例:
import base64
with open("test.zip", "rb") as f:
encodedZip = base64.b64encode(f.read())
print(encodedZip.decode())
Run Code Online (Sandbox Code Playgroud)
在decode()将将二进制字符串转换为文本.
用于b64encode在没有换行符的情况下进行编码,然后解析生成的二进制字符串.decode('ascii')以获取正常的字符串.
encodedZip = base64.b64encode(zipContents).decode('ascii')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14390 次 |
| 最近记录: |