将十六进制字符串作为二进制数据写入新的.mid文件



我一直在用 swift 弄乱 MIDI 文件。将文件转换为字符串后

        for byte in readFile {
            let hex = String(format: "%02x", UInt(byte))
            hexString.append(contentsOf: hex)
        }

但是现在我已经对十六进制字符串进行了修改,我需要用正确的编码将其写回一个新的 MIDI 文件。我假设我需要使用类似的东西:

hexString.write(to: opUrl, atomically: false, encoding: String.Encoding.utf8)

但编码显然是错误的。我在这方面有点困惑,所以任何帮助将不胜感激。此外,如果有人可以对atomically:选项给出白痴证明解释,那将是一个奖励!

将文件转换为字符串后

好吧,不要将文件转换为字符串。使用数据结构。将文件作为数据读取。将其作为数据进行检查。将其作为数据进行操作。将其另存为数据。

https://developer.apple.com/documentation/foundation/data

最新更新