NSData baseEncodedString返回nil

时间:2016-05-09 22:09:26

标签: swift nsdata

我在快速项目中做错了什么?我的行

NSData.init(base64EncodedString: parameters[0], options: .IgnoreUnknownCharacters)

正在返回nil。

parameters[0] = "LFGNzD83/G8"

1 个答案:

答案 0 :(得分:2)

看起来不是有效的b64字符串。试试这个网络应用程序来编码一些文本https://www.base64decode.org/。例如,VGVzdGluZw==是测试一词。

let b64String = "VGVzdGluZw==" // Is "Testing" b64 encoded from utf8
let encodedData = NSData.init(base64EncodedString: b64String, options: [])
print(String(data: encodedData!, encoding: NSUTF8StringEncoding)) // > "Testing"

在另一个SO答案中注明,“在末尾填充0,1或2'='字符”It is possible to know if a string is encoded in base64?

所以看起来在最后快速检查等号是足以告诉你它不是base64。