我有一个函数,该函数读取Array作为Input参数(请参见我的代码中的messageData)。现在,我想将2个特定字节(所以ByteArray的2个值)分配给一个UInt16。
因此,我在更多问题中看到了使用0xff
的方法,但这对我不起作用。我要转换的16位整数是28281。
var ctValue : UInt16 = CFSwapInt16HostToBig(UInt16(commandType!.rawValue))
let ctValueData: UnsafeMutablePointer<UInt16> = UnsafeMutablePointer<UInt16>(&ctValue)
ctValueData[1] = UInt16(CChar(((messageData[++(idx)]) >> 8) & 0xff))
ctValueData[0] = UInt16(CChar(((messageData[++(idx)]) >> 0) & 0xff))
commandType = NWPFunction.forCommandId(commandId:Int(ctValue))