这个base64相关函数[在Swift中]做什么?

这个base64相关函数[在Swift中]做什么?,swift,Swift,有人能解释下面函数的行为吗?有些人建议不要使用NSData。你有更好的选择吗?如果返回值是base64编码的我可以在一个在线编码器/解码器上解码吗?谢谢 func stringToData(message: String) -> NSData? { let strData = NSData(base64Encoded: message, options: NSData.Base64DecodingOptions.ignoreUnknownCharacters) return

有人能解释下面函数的行为吗?有些人建议不要使用
NSData
。你有更好的选择吗?如果返回值是
base64编码的
我可以在一个在线
编码器/解码器上解码吗?
谢谢

func stringToData(message: String) -> NSData? {
    let strData = NSData(base64Encoded: message, options: NSData.Base64DecodingOptions.ignoreUnknownCharacters)
    return strData
}
用于尝试使用给定值初始化数据对象,并在失败时返回
nil
。换言之;它将Base64编码的字符串解码为NSData对象

在Swift中,您可能会使用
base64EncodedString()
函数和
数据
类型上的
数据(base64Encoded:)
初始值设定项将数据编码和解码为Base64字符串,例如:

let originalData = Data(bytes: [1,2,3,4,5,6,7,8,9,10,11,12])

let encodedAsBase64String = originalData.base64EncodedString()
// "AQIDBAUGBwgJCgsM"
let decodedData = Data(base64Encoded: encodedAsBase64String) // is optional because the decoding can fail
// 12 bytes: <01020304 05060708 090A0B0C>
let originalData=数据(字节:[1,2,3,4,5,6,7,8,9,10,11,12])
让encodedAsBase64String=originalData.base64EncodedString()
//“AQIDBAUGBwgJCgsM”
let decodedData=Data(base64Encoded:encodedAsBase64String)//是可选的,因为解码可能会失败
//12字节:

您正在获取字符串并尝试返回数据的二进制(NSData)格式。请注意,这可能会失败。有一个可选的返回类型。这由
指示。此func使用较旧的Swift语法。我建议你看看斯威夫特4号的密码。