无法将类型 'UnsafeBufferPointer' 的值转换为预期的参数类型 'rawPointer'
Cannot convert value of type 'UnsafeBufferPointer' to expected argument type 'rawPointer'
extension NSData {
func hexString() -> String {
return UnsafeBufferPointer<UInt8>(start: UnsafePointer<UInt8>(bytes), count: length)
.reduce("") { [=12=] + String(format: "%02x", ) }
}
}
因为 Xcode 11 从 swift 中的十六进制获取 Mac 地址只是让我发疯。有人告诉我这是一个很好的方法,但我得到的只是错误。
我从连接到 iOS 的 Ble 设备中获取了包含在字符串中的 MAC 地址,当然在 11、12 及以下版本中,我获取了格式为 Mac 的地址我需要
我从 Ble 设备上得到了这样的 Mac 地址。 <hexvalue>
我有删除有效的 < 和 > 的代码,但是自从 Apple 进行更新以来,我知道以这个为例:"{length = 6, bytes = 0x686578636172}\n
我现在如何简单地删除多余的废话?我只需要十六进制。我可以通过插入 : 将其转换为 Mac,这很简单。 debugDescription 不起作用。 .description 不起作用,我知道它从来没有打算以这种方式使用,但我陷入了一个代码库中,就像在很多文件中那样使用它。
试试这个
import Foundation
extension Data {
func hexString() -> String {
self.compactMap {
String(format: "%02x", [=10=])
}.joined()
}
}
var data = Data("Hello World".utf8)
data.append(contentsOf: [1,2,3,4,5])
print(data.hexString())
打印
48656c6c6f20576f726c640102030405
甚至更好
import Foundation
extension Data {
var hexString: String {
self.compactMap {
String(format: "%02x", [=12=])
}.joined()
}
}
var data = Data("Hello World".utf8)
data.append(contentsOf: [1,2,3,4,5])
print(data.hexString)
extension NSData {
func hexString() -> String {
return UnsafeBufferPointer<UInt8>(start: UnsafePointer<UInt8>(bytes), count: length)
.reduce("") { [=12=] + String(format: "%02x", ) }
}
}
因为 Xcode 11 从 swift 中的十六进制获取 Mac 地址只是让我发疯。有人告诉我这是一个很好的方法,但我得到的只是错误。
我从连接到 iOS 的 Ble 设备中获取了包含在字符串中的 MAC 地址,当然在 11、12 及以下版本中,我获取了格式为 Mac 的地址我需要
我从 Ble 设备上得到了这样的 Mac 地址。 <hexvalue>
我有删除有效的 < 和 > 的代码,但是自从 Apple 进行更新以来,我知道以这个为例:"{length = 6, bytes = 0x686578636172}\n
我现在如何简单地删除多余的废话?我只需要十六进制。我可以通过插入 : 将其转换为 Mac,这很简单。 debugDescription 不起作用。 .description 不起作用,我知道它从来没有打算以这种方式使用,但我陷入了一个代码库中,就像在很多文件中那样使用它。
试试这个
import Foundation
extension Data {
func hexString() -> String {
self.compactMap {
String(format: "%02x", [=10=])
}.joined()
}
}
var data = Data("Hello World".utf8)
data.append(contentsOf: [1,2,3,4,5])
print(data.hexString())
打印
48656c6c6f20576f726c640102030405
甚至更好
import Foundation
extension Data {
var hexString: String {
self.compactMap {
String(format: "%02x", [=12=])
}.joined()
}
}
var data = Data("Hello World".utf8)
data.append(contentsOf: [1,2,3,4,5])
print(data.hexString)