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

时间:2019-04-17 10:17:43

标签: swift macos

我一直在迅速处理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:选项提供愚蠢的证明,那将是一个好处!

1 个答案:

答案 0 :(得分:0)

  

将文件转换为字符串后

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

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