【发布时间】:2021-08-11 11:50:51
【问题描述】:
我正在寻找一种将十六进制字符串转换为 UnsafePointer 数组的更好方法。这是我当前的代码:
let pointer: UnsafePointer<Int8>? = NSString(string: "d0c6a560de2e60b6ac55386defefdf93b0c907290c2ad1b4dbd3338186bfdc68").utf8String
// or
let pointer: UnsafePointer<Int8>? = NSString(string: key).utf8String
let length = NSString(string: key).length
var res = blsSecretKeySetHexStr(&sec, pointer, length)
我正在将 C++ class 移植到 Swift,并且此类方法 blsSecretKeySetHexStr 和 blsPublicKeyGetHexStr 需要 UnsafePointer 和 UnsafeMutablePointer 作为输入。
【问题讨论】:
-
真正的问题是:为什么需要
UnsafePointer<Int8>?你想解码十六进制字符串吗? -
@MartinR 我正在将一个 C++ 类移植到 swift
-
我建议您(在问题中)更详细地描述您实际想要做什么。
-
@MartinR 帖子已编辑。
-
您想移植(即转换)C++ 到 Swift,还是想从 Swift 中调用 C++ 函数?
标签: swift string hex unsafe-pointers unsafemutablepointer