我是 Swift 的新手,我不确定如何获取文件并将其存储在二进制数组中。
我确实知道如何获取一个文件,但我不知道如何将它存储在一个稍后会被修改的二进制数组中。
假设变量“chosenFile”是我选择的文件(NSData 类型) 变量“bArray”([int8] 数组)是用于存储文件二进制表示的数组。
var bArray: [Int8] = [Int8]()
var chosenFile: NSData! = NSData(contentsOfURL: "xxxxxxxx")
有什么帮助吗?
最佳答案
如果您创建 NSMutableData
的实例, 您可以使用 mutableBytes
property获取对基础数据的引用。在 C 中,这将是一个 void *
;在 Swift 中,它是一个 UnsafeMutablePointer<Void>
.
然后您可以直接使用这些数据(不需要另一个字节数组)。只要你在length
范围内的 NSMutableData
,你可以,例如,replace individual bits of data, or indeed the entirety of the data .
或者,您可以使用 replaceBytesInRange:withBytes:
,而不是直接处理原语。选择性地修改部分数据。这也在 the documentation 中进行了解释。 .
关于swift - 如何在 Swift 中以二进制形式打开文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27771621/