1、構(gòu)造指定內(nèi)容的NSData
如果我們要構(gòu)造一個(gè)data勇吊,要求其內(nèi)容如下:
<ef000202 0d0d4738 32313437 30009198 2c08d915 f313081d 0e2f2d00 04260100 010000ee>
此時(shí)我們可以采用Byte
來(lái)設(shè)置data的內(nèi)容照棋,比如我們這一條data是72位16進(jìn)制的data眶熬,而Byte
表示字節(jié)信不;眾所周知:
1 字節(jié) = 8位2進(jìn)制 --> 1字節(jié) = 2位16進(jìn)制
現(xiàn)在屈溉,我們來(lái)構(gòu)建一個(gè)Byte
//聲明一個(gè)變量`bytes`,`bytes`所指的內(nèi)存姐扮,存放的是36個(gè)Byte
//36個(gè)Byte = 36 * 8位二進(jìn)制 = 36 * 2位十六進(jìn)制
Byte bytes[36] = {};
然后逐個(gè)往bytes中寫(xiě)入數(shù)據(jù)絮供,注意不要超出36個(gè)元素
int i = 0;
bytes[i++] = (Byte)0xef;
bytes[i++] = (Byte)0x00;
bytes[i++] = (Byte)0x02;
bytes[i++] = (Byte)0x02;
bytes[i++] = (Byte)0x0d;
...
實(shí)際上,很多時(shí)候溶握,我們是不能像上面那樣把數(shù)值定死的,比如說(shuō)日期蒸播,是不斷變化的睡榆,我們可以采用下面的方法來(lái)操作:
//年月日
bytes[i++] = yearInt & 0xFF;
bytes[i++] = monthInt & 0xFF;
bytes[i++] = dayInt & 0xFF;
//時(shí)分秒
bytes[i++] = hourInt & 0xFF;
bytes[i++] = minutesInt & 0xFF;
bytes[i++] = secondsInt & 0xFF;