如何迅速将base64转换成NSDATA

我正在开发一个iOS项目。 它以base64string的forms将audio存储在Web服务器上。 当我请求服务器获得所有audio的base64string,并试图在NSData转换,我得到nil

 do { var audioData: NSData! = NSData(base64EncodedString: audioBase64String, options: NSDataBase64DecodingOptions(rawValue:0)) if audioData != nil { let sound = try AVAudioPlayer(data: audioData) sound.play() } else { print("Data Not Exist") } } catch { } 

在Android上,相同的base64string被转换成字节数组并且正在播放,但是在iOS中, audioBase64StringNSData返回nil

这工作:

 audioData = NSData(base64EncodedString: recording_base64, options: NSDataBase64DecodingOptions.IgnoreUnknownCharacters) 

对于Swift 3:

 var audioData = Data(base64Encoded: recording_base64, options: .ignoreUnknownCharacters) 

试试这个库 。 您可以从base64string获取NSData,然后使用此数据初始化您的AVAudioPlayer。 请阅读AVAudioPlayer Apple的文档。