防止 CRLF 的 iOS Base64 Lib
由于包含 CRLF,我在解码/编码 Base64 字符串时遇到问题。 我已经尝试过这个库 Base64.h 和这个<一href="http://colloquy.info/project/browser/trunk/NSDataAdditions.h?rev=1576" rel="nofollow">NSData+Base64.h 但两者都这样做不能很好地处理CRLF。
以前有人遇到过这个问题吗?
有人对如何避免这些 CRLF 有建议吗?我认为 Android 的 Java lib 正在用“0”替换它,我说得对吗?
public static final int CRLF = 4;
I'm having troubles decoding/encoding a base64 string because of the CRLF on it.
I've tried this lib Base64.h and this one NSData+Base64.h but both do not handle well the CRLF.
Anyone had this problem before?
Anyone has an advice on how to avoid these CRLF? I think Android's Java lib is replacing this with a '0', am I correct?
public static final int CRLF = 4;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Base64 编码 64 个字符,即“A-Za-z0-9+/”,可能带有尾随“=”以指示非 mod 3 长度。 CR+LF可以作为行分隔符,一般对每一行单独解码。
有关 CR+LF 变体的更多信息,请参阅 Wikipedia Base64。
“+vqbiP7s3oe7/puJ8v2a3fOYnf3vmpap”
解码后是:
“FA FA 9B 88 FE EC DE 87 BB FE 9B 89 F2 FD 9A DD F3 98 9D FD EF 9A 96 A9”
最后一个字符不为0。
Base64 encodes 64 characters, namely 'A-Za-z0-9+/' with a possible trailing '=' to indicate a non mod 3 length. CR+LF may be used as a line separator, generally decode each line separately.
See Wikipedia Base64 for more information on CR+LF variants.
"+vqbiP7s3oe7/puJ8v2a3fOYnf3vmpap"
decoded is:
"FA FA 9B 88 FE EC DE 87 BB FE 9B 89 F2 FD 9A DD F3 98 9D FD EF 9A 96 A9"
The last character is not 0.