gpt4 book ai didi

arrays - 在 Swift 中从二进制文件中读取整数

转载 作者:行者123 更新时间:2023-12-01 21:52:20 24 4
gpt4 key购买 nike

我有一个代表旧穿孔卡的二进制文件。该文件包含以下数据:

Function(unsigned int8 min: 0, max: +255), 
Vertical Movement (signed int16 min: -32.768, max: +32.767)
Horizontal Movement (signed int16 min: -32.768, max: +32.767)

此模式将以不同的值重复大约 1 次。 100.000 次,将代表具有机器功能的 2D CAD 设计。

文件/穿孔卡的每一行有 5 个字节(1 x Uint8,2 x int16)。最好的阅读方式是什么?在 C# 中,我使用流一个字节一个字节地读取,但我找不到在 Swift 5 中执行此操作的示例。

最佳答案

您可以使用这样的函数打开二进制文件 (Swift 5):

func getFile(forResource resource: String, withExtension fileExt: String?) -> [UInt8]? {
// See if the file exists.
guard let fileUrl: URL = Bundle.main.url(forResource: resource, withExtension: fileExt) else {
return nil
}

do {
// Get the raw data from the file.
let rawData: Data = try Data(contentsOf: fileUrl)

// Return the raw data as an array of bytes.
return [UInt8](rawData)
} catch {
// Couldn't read the file.
return nil
}
}

用法:

if let bytes: [UInt8] = getFile(forResource: "foo", withExtension: "json") {
for byte in bytes {
// Process single byte...
}
}

然后简单地遍历字节并将它们格式化为您的规范。

关于arrays - 在 Swift 中从二进制文件中读取整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59036569/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com