解码以 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
我正在尝试使用
解码我在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