有人可以解释以下功能的行为吗?有些人建议不要使用NSData
。您有更好的替代品吗?如果返回的值为Base64Encoded
,我可以对在线encoders/decoders?
之一进行解码吗?谢谢。
func stringToData(message: String) -> NSData? {
let strData = NSData(base64Encoded: message, options: NSData.Base64DecodingOptions.ignoreUnknownCharacters)
return strData
}
答案 0 :(得分:0)
NSData(base64Encoded:options:)
被记录为尝试使用给定的Base64 encoded string初始化数据对象-如果失败,则返回nil
。换一种说法;它将Base64编码的字符串解码为NSData对象。
在Swift中,您可能会使用base64EncodedString()
类型的Data(base64Encoded:)
函数和Data
初始化程序将数据编码和解码为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>