我正在快速与 libxml2 交互,并且 C API 绑定(仍然)UnsafePointer<Int8>!
为 c 字符串生成。而 Swift API 通常会导致UnsafePointer<UInt8>!
.
所以我的问题是 - 我是否以正确的方式将字符串转换为以空字符结尾的 C 字符串?
let cfilePath = unsafeBitCast(myStringString.nulTerminatedUTF8.withUnsafeBufferPointer { $0.baseAddress }, to: UnsafePointer<Int8>.self)
我是否应该更喜欢使用其他方法,而不是绕过 Swift 类型检查,将UInt8
字节解释为Int8
字节?