【问题标题】:What is the equivalent of Android's Base64.encodeToString(b, Base64.NO_WRAP) in iOS?什么是 iOS 中 Android 的 Base64.encodeToString(b, Base64.NO_WRAP) 的等价物?
【发布时间】:2013-09-17 01:11:48
【问题描述】:

在 Android 上,我有一部分代码正在执行 Base64.encodeToString(b, Base64.NO_WRAP) 其中 b 是字节数组。在 iOS 世界中,这相当于什么?

【问题讨论】:

  • Apple 不提供 base64 编码,您必须找到并使用第 3 方解决方案。看来苹果不赞成base64编码——也许是googley?年复一年,我们雷达要求它,而苹果却以死一般的沉默回应。
  • 解决办法是什么?我不需要包装数据

标签: ios base64


【解决方案1】:

看看 Matt Gallagher 的 base64 code 是否适合您。我用它来相信它是正确的。请参阅“在 iPhone 上处理 Base64”部分。

【讨论】:

    【解决方案2】:

    iOS

    func base64EncodedStringWithOptions(_ options:NSDataBase64EncodingOptions)-> String
    

    适用于 iOS 7.0 及更高版本。

    常量 Encoding64CharacterLineLength 将最大行长度设置为 64 个字符,然后插入行尾。

    Encoding76CharacterLineLength 将最大行长度设置为 76 个字符,然后插入行尾。

    EncodingEndLineWithCarriageReturn 设置最大行长时,指定要插入的行结尾应包含回车符。

    EncodingEndLineWithLineFeed 设置最大行长时,指定要插入的行结尾应包含换行符。

    安卓

    NO_WRAP

    在 API 级别 8 中添加 诠释 NO_WRAP 编码器标志位省略所有行终止符(即,输出将在一条长行上)。

    看起来您想使用 base64EncodedStringWithOptions 并且不包含任何选项,因为所有 iOS 选项都包含某种行终止符。

    【讨论】:

      猜你喜欢
      • 2012-08-30
      • 2014-09-30
      • 1970-01-01
      • 2019-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-28
      相关资源
      最近更新 更多