如何在swift中从NSData中提取和屏蔽位/字节

时间:2015-01-29 17:29:33

标签: objective-c swift nsdata

似乎有很多关于如何将值放入NSData的帖子,但我希望在这里做相反的事情。我试图解析一些将通过套接字到达并希望将一些旧的obj-c代码迁移到swift的数据。在对象中,我能够做到

const char *bytes = [message bytes];

NSInteger targetAddress = (((unsigned char) bytes[2]) << 16)
        | ((unsigned char) bytes[3] << 8)
        | (unsigned char) bytes[4];

int status = ((unsigned char) bytes[1] & 0xF0) >> 4;

我遇到了如何将其正确迁移到swift的问题。

我能够将以下内容转换为swift中的NSData数组进行测试,但无法弄清楚如何将其恢复原状:

var testBytes : [Byte] = [0x14, 0x00, 0xAB, 0x45, 0x49,
        0x1F, 0xEF, 0x15, 0xA8, 0x89, 0x78, 0x0F, 0x09, 
        0xA9, 0x07, 0xB0, 0x01, 0x20, 0x01, 0x4E, 0x38,
        0x32, 0x35, 0x56, 0x20, 0x20, 0x20, 0x00]

var msgData = NSMutable(bytes: testBytes, length: testBytes.count)

swift中的.bytes来电返回UnsafePointer<void>,因此我不确定要拨打的电话。

由于

0 个答案:

没有答案