如何在 Swift 中以二进制形式打开文件

How to open a file in binary form in Swift

我是 Swift 的新手,我不确定如何获取文件并将其存储在二进制数组中。

我知道如何获取文件,但我不知道如何将它存储在二进制数组中,稍后会修改。

假设变量"chosenFile"是我选择的文件(NSData类型) 而变量"bArray"([int8]数组)是用来存储文件二进制表示的数组。

var bArray: [Int8] = [Int8]()
var chosenFile: NSData! = NSData(contentsOfURL: "xxxxxxxx")

有什么帮助吗?

如果创建 NSMutableData 的实例,则可以使用 mutableBytes property 获取对基础数据的引用。在 C 中,这将是 void *;在 Swift 中,它是一个 UnsafeMutablePointer<Void>.

然后您可以直接使用这些数据(不需要另一个字节数组)。只要您保持在 NSMutableDatalength 范围内,您就可以,例如 replace individual bits of data, or indeed the entirety of the data.

或者,您可以使用 replaceBytesInRange:withBytes: 有选择地修改部分数据,而不是直接处理原语。 the documentation.

中也对此进行了解释