我試圖從base64解碼下面的字符串沒有任何退出。它總是返回零。我試圖將NSDataBase64DecodingOptions更改爲IgnoreUnknowCharanters,但它也不起作用。我也嘗試刪除填充像這個答案說swift base64 decoding returns nil但我的字符串的長度可以被4整除,所以它不起作用。Swift 2解碼base64總是返回零
串
PY5ehymWfQKExWxPyOImGiQkxNjyuBREmOXtQdePVpuH9PFzizaO+WTuM1sLouTQPz5UO7csloC9GjOFqkq4POmlB9d3mMJGLB2pVCNs8t9EejOcjV4fRHaITkmfMfVbizCnTvHGBwLWXjLc7gwyhu2+S9qw0NXc5jw6EdEk+zuesrdwLgqws0hDqFSoVw57+CnvUmgXwtNfKP4p64mJ9inH/0xAMarCc5N4Wjz/zmlTyd2PoDFUC/iLdZ7csau7X2M=
選項1
if let decodedData = NSData(base64EncodedString: base64String, options: NSDataBase64DecodingOptions.IgnoreUnknownCharacters),
let decodedString = NSString(data: decodedData, encoding: NSUTF8StringEncoding) {
print(decodedString) // foo
}
選項2
if let decodedData = NSData(base64EncodedString: pnpData, options: NSDataBase64DecodingOptions.init(rawValue: 0)),
let decodedString = NSString(data: decodedData, encoding: NSUTF8StringEncoding) {
print(decodedString) // foo
}
希望你能幫助我。謝謝!!
哪位返回nil,數據或從數據創建字符串?你的base64字符串是從哪裏來的? – Wain
我假設Base64解碼工作,但解碼後的數據並不代表有效的UTF-8序列,所以'NSString(data:decodedData ...)'失敗。你期望什麼結果? –
@MartinR它是一個加密的字符串,所以解碼後我必須使用AES來解密它。 –