我正在开发一个iOS项目。它以base64字符串的形式将音频存储在Web服务器上。当我请求服务器获取所有音频的base64字符串并尝试将其转换为NSData
时,我得到nil
。如何在swift中将base64转换为NSDATA
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相同的base64串被转换成字节数组和正在播放时,但在IOS audioBase64String
为NSData
返回nil
。
包含在你的问题中样本的base64。是否有可能添加'NSDataBase64DecodingIgnoreUnknownCharacters'已经解决了这个问题? (也许你b64以换行符结束?) – hnh
你已经从服务器获得Base 64 String,并且你再次为编码做同样的事情,这就是为什么你没有得到结果。所以现在需要做解码。 –
谢谢@hnh 已解决 –