如何将二进制数据转换为NSstring?
使用 AVAudioRecorder 录制后,生成的声音文件必须发送到 Web 服务。文件数据必须进行 URL 编码并复制到 POST 请求的正文中。录音格式为kAudioFormatAppleLossless。 第一步,在 URL 编码之前,我尝试将 .caf 文件复制到 NSString 中,但
NSStringEncoding encoding;
NSString * filestring = [NSString
stringWithContentsOfURL:self.audioRecorder.url
usedEncoding:&encoding
error:&error];
出现以下错误:
Error Domain=NSCocoaErrorDomain Code=264“操作无法完成。(Cocoa 错误 264。)”
返回的编码是0x5bab9f0,它不在为NSStringEncoding定义的值列表中。 AVAudioRecorder 写入文件时使用什么编码?将二进制文件转换为 URL 编码字符串的最佳方法是什么?
After recording with AVAudioRecorder the resulting sound file has to be sent to a webservice. The file data has to be URL encoded and copied into the body of the POST request. The recording format is kAudioFormatAppleLossless.
As a first step, prior to URL encoding, I tried to copy the .caf file into a NSString, using
NSStringEncoding encoding;
NSString * filestring = [NSString
stringWithContentsOfURL:self.audioRecorder.url
usedEncoding:&encoding
error:&error];
I got the following error:
Error Domain=NSCocoaErrorDomain Code=264 "The operation couldn\u2019t be completed. (Cocoa error 264.)"
The encoding returned was 0x5bab9f0, which is not among the list of values defined for NSStringEncoding.
What encoding does AVAudioRecorder use when writing to the file? What is the best way of converting a binary file to a URL encoded string?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
绝不。使用。 NSString。为了。数据。就是这样。不是。 A、字符串...
使用 NSData 代替,您不需要对其进行 URLEncode(因为它“已经是”)。
你可以使用这个:
Never. Use. NSString. For. Data. That's. Not. A. String...
Use NSData instead, you won't need to URLEncode it (because it 'already is').
You can use this: