如何将 NSData 转换为 UInt8 数组 ins iOS Objective C?
How to convert NSData to Array of UInt8 ins iOS Objective C?
我有 Swift 转换此方法的代码:
func DATA_TO_UINT8(_ d:Data) -> Array<UInt8> {
return d.withUnsafeBytes {
[UInt8](UnsafeBufferPointer(start: [=12=], count: (d.count)))
}
}
现在我想要 Objective C.
要生成基于堆栈的数组,请尝试类似的操作(代码直接输入答案,预计会出现错误):
NSData *data = ...
UInt8 buf[data.length]; // local stack array
[data getBytes:buf length:data.length];
如果你想要一个堆数组你需要使用malloc
来分配内存,如果你实际上不需要数组只是一个C指针你可以使用NSData
bytes
方法。
我有 Swift 转换此方法的代码:
func DATA_TO_UINT8(_ d:Data) -> Array<UInt8> {
return d.withUnsafeBytes {
[UInt8](UnsafeBufferPointer(start: [=12=], count: (d.count)))
}
}
现在我想要 Objective C.
要生成基于堆栈的数组,请尝试类似的操作(代码直接输入答案,预计会出现错误):
NSData *data = ...
UInt8 buf[data.length]; // local stack array
[data getBytes:buf length:data.length];
如果你想要一个堆数组你需要使用malloc
来分配内存,如果你实际上不需要数组只是一个C指针你可以使用NSData
bytes
方法。