解码以 bash 编码的 base64 数据

Decode base64 data encoded in bash

我正在尝试使用

解码我在bash中编码的一些数据
base64 -in file.txt -out encodedFile.txt

在bash中解码是没有问题的。

但是当我尝试使用

在 Objective-C 中解码它时
//fetch encoded data from file system, put it in
//NSData *encoded
NSData *decoded = [[NSData alloc] initWithBase64EncodedData:encoded withOptions:0];

我总是收到零。

编辑

我尝试在 Objective-C 中对同一个文件进行编码,发现只有一点点不同:

编码为bash:

dGhpcyBpcyBhIHRlc3Qh

编码为Objective-C:

VGhpcyBpcyBhIHRlc3Qh

只有第一个字符不同。

我想通了。

显然文件末尾附加了换行符 (\n)。 一旦我删除它,它就可以正常工作了。

对于那些感兴趣的人,我设法在一个命令中使用

做到了这一点
base64 -i file.txt | tr -d '\n' > encodedFile.txt