2015-07-10 43 views
1

编码解码的base64数据我试图解码使用在bash

base64 -in file.txt -out encodedFile.txt 

一些数据,我在bash编码在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 

开第一个字符是不同的。

+1

请添加对downvote一个理由这样做的一个命令,所以我可以调整我问一个问题的方式。 – SnyersK

+0

另请参阅[iOS 7+中的Base64解码](http://stackoverflow.com/a/22432808/608639)以及Tommy的另一种解决此问题的方法,该解决方案适用于所有iOS设备。 – jww

+0

@jww我在寻找解决方案时遇到了这个问题。但我只需要支持iOS 7以上,所以没有问题。谢谢! – SnyersK

回答

2

我想通了。

显然有一个换行符(\n)追加到文件的末尾。 一旦我删除它,它正常工作。

对于那些谁感兴趣的话,我设法用

base64 -i file.txt | tr -d '\n' > encodedFile.txt