我用
[[NSData alloc] initWithBase64EncodedString:content options:0];
加载通过网络传递的二进制数据,作为JSON对象的键。有时它会起作用,但在其他情况下会失败,就像使用this string一样。
这是由NSData
本身在另一端创建的字符串:
[data base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithLineFeed];
有什么选择我必须通过,为什么它返回零?字符串有4个长度的多个,没有奇怪的字符,所以我不明白为什么它会失败?
答案 0 :(得分:3)
我再次阅读文档,特别是这一部分:
此方法的默认实现将拒绝非字母表 字符,包括换行符。支持不同 编码并忽略非字母字符,指定选项值 NSDataBase64DecodingIgnoreUnknownCharacters。
它拒绝字符的事实意味着它会拒绝整个字符串,因为显然这些字符,因为当我将NSDataBase64DecodingIgnoreUnknownCharacters
添加到初始化程序选项时,它甚至可以使用提到的字符串。