我想知道如何将int8数组的内容保存到文件中。 我发现如果int8数组表示的“实际内容”是一个String,那么我的代码运行正常。但如果内容实际上是图像,则无法打开保存的文件(表示已损坏)。
我尝试使用文本编辑器打开图像,发现内容与预期的不同(我有“好”图像可用于比较)。我想知道它是否与编码有关?
int8数组是HTTP响应的原始数据(HTTP部分用C编写)。
我不确定我是否走上正轨,有什么想法吗?
var response: NSData! = NSData(bytes: myArray, length: contentLength)
var writeOutput: Bool = response.writeToURL(thePath, atomically: false)
如何修改代码,以便无论内容是文本还是图片,都能正确保存内容。
非常感谢〜
答案 0 :(得分:3)
斯威夫特3:
let myArray:[Int8] = [ 0x4d, 0x2a, 0x41, 0x2a, 0x53, 0x2a, 0x48]
let pointer = UnsafeBufferPointer(start:myArray, count:myArray.count)
let data = Data(buffer:pointer)
try! data.write(to: URL(fileURLWithPath: "myFile.data"))