我一直在用 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