我使用的是Mac OS 10.13.3。我试图base64编码二进制文件但是有一些问题。具体来说,我认为所有base64编码文件的长度必须是4的倍数。但是,当我对文件进行编码时,请注意长度不能被4整除...
localhost:lib davea$ openssl base64 -in myfile.binary -out ~/Downloads/myfile.base64
localhost:lib davea$ ls -al ~/Downloads/myfile.base64
-rw-r--r-- 1 davea staff 93162 May 31 14:22 /Users/davea/Downloads/myfile.base64
另外,当我查看base64文件的内容时,我看不到传统的" ="或" =="最后,通常表示填充
localhost:lib davea$ cat ~/Downloads/myfile.base64
...
C9vgMjoKSQYkXMLTrGKRleR558g3bY3VTqlsVvTqZXquCLp4JS4cprTG6N10H0u9
i4pwPrVmSAP2DmE1V7mGwR2e4fiYEWnZjpSbHofpzlUo34yhiQ2/5kJoQZktD7BU
uxYBAgQIECBAgBs2
我做错了什么,还是有另一种方法对我的文件进行base64编码?
答案 0 :(得分:1)
我做错了什么,
没有
还是有另一种方法对我的文件进行base64编码吗?
是的,您可以使用base64
。它需要一个参数来指定行长度,但在其他方面类似,等同于您的命令:
base64 -b 64 -i myfile.binary -o ~/Downloads/myfile.base64
另外,当我查看base64文件的内容时,我最后看不到传统的“=”或“==”,这通常表示填充
Base64将3个输入字节映射到4个输出字节。您的文件是93162字节,可以被3整除,因此不需要填充。
HTH
答案 1 :(得分:1)
行。我相信我们过度思考了这一点。以下是您希望获得所需行为的内容:
openssl base64 -A -in myfile.binary -out ~/Downloads/myfile.base64
这将转换为base64,没有任何行结尾。 -A
选项就是诀窍。