Ios swift中基64的RFC2045-MIME变体

Ios swift中基64的RFC2045-MIME变体,ios,swift,swift4,Ios,Swift,Swift4,我需要用base64的RFC2045-MIME变体将一个字符串转换为一个编码字符串。然而,我找不到任何选项在swift这样做。目前我使用的方法是: var str = "\(test1):\(test2)" str = str.data(using: .utf8)!.base64EncodedString(options: Data.Base64EncodingOptions(rawValue: UInt(0))) 但这只是标准的base64编码,而不是RFC2045-MIME变体。如何使用R

我需要用base64的RFC2045-MIME变体将一个字符串转换为一个编码字符串。然而,我找不到任何选项在swift这样做。目前我使用的方法是:

var str = "\(test1):\(test2)"
str = str.data(using: .utf8)!.base64EncodedString(options: Data.Base64EncodingOptions(rawValue: UInt(0)))

但这只是标准的base64编码,而不是RFC2045-MIME变体。如何使用RFC2045-MIME变体?

RFC 2045和RFC 4686中指定的base64编码之间的唯一区别是RFC 2045指定的最大行长为76个字符,行之间用CRNL分隔

base64EncodedString(选项:)
的文档中说默认的行尾是CRNL,因此:

let data = str.data(using: .utf8)!
let b64 = data.base64EncodedString(options: .lineLength76Characters)

RFC2045-MIME Base64与您得到的有什么不同?您是否查找了处的选项?这确实有效,但我还需要将编码设置为latin1,以便它可以接受外来字符。是否可以区分您查找的base64是20145还是4686?