如何将 C# 的 BitConverter.GetBytes(date.ToBinary()) 转换为 Swift
How to convert C#'s BitConverter.GetBytes(date.ToBinary()) to Swift
我必须将一些 C# 代码移植到 Swift。
虽然我可以阅读和转换大部分 C# 代码,但我对此有点困惑:
byte[] dateBArr = BitConverter.GetBytes(date.ToBinary());
有人知道 Swift 中的情况吗?
是的,我解决了。
这是我的解决方案(Swift 2.0 如果 IIRC)
let dateNumber = NSNumber(double: NSDate().timeIntervalSince1970)
let ticks = NSNumber(longLong:dateNumber.longLongValue * 10000000 + 621355968000000000)
let dateDataByteArray:[UInt8] = self.toByteArray(ticks.longLongValue)
并转换为 byteArray
func toByteArray<T>(var value: T) -> [UInt8] {
return withUnsafePointer(&value) {
Array(UnsafeBufferPointer(start: UnsafePointer<UInt8>([=11=]), count: sizeof(T)))
}
}
我必须将一些 C# 代码移植到 Swift。 虽然我可以阅读和转换大部分 C# 代码,但我对此有点困惑:
byte[] dateBArr = BitConverter.GetBytes(date.ToBinary());
有人知道 Swift 中的情况吗?
是的,我解决了。 这是我的解决方案(Swift 2.0 如果 IIRC)
let dateNumber = NSNumber(double: NSDate().timeIntervalSince1970)
let ticks = NSNumber(longLong:dateNumber.longLongValue * 10000000 + 621355968000000000)
let dateDataByteArray:[UInt8] = self.toByteArray(ticks.longLongValue)
并转换为 byteArray
func toByteArray<T>(var value: T) -> [UInt8] {
return withUnsafePointer(&value) {
Array(UnsafeBufferPointer(start: UnsafePointer<UInt8>([=11=]), count: sizeof(T)))
}
}