iOS 關(guān)于異或運(yùn)算

本人開發(fā)的都是和藍(lán)牙有關(guān)在程序中 經(jīng)常要用到異或運(yùn)算

現(xiàn)在給大家羅列出來

1校驗(yàn)位異或 傳入16進(jìn)制串

-(NSData*)getcheckSum_BLE:(NSString*)byteStr

{

intlength = (int)byteStr.length/2;

NSData*data = [selfhexstrToBytes:byteStr];

Byte*bytes = (unsignedchar*)[databytes];

Bytesum =0;

for(inti =0;i

{

sum^=bytes[i];

}

NSString*str = [NSStringstringWithFormat:@"%@%@",byteStr,[selfToHex_BLE:sum]];

//NSLog(@"校驗(yàn)異或的結(jié)果%@",[str hexToBytes]);

//NSLog(@"進(jìn)行校驗(yàn)運(yùn)算");

return[self ?hexstrToBytes:str];

}

-(NSData*)hexstrToBytes:(NSString*)lenstr

{

NSMutableData* data = [NSMutableDatadata];

intidx;

for(idx =0; idx+2<= lenstr.length; idx+=2) {

NSRangerange =NSMakeRange(idx,2);

NSString* hexStr = [lenstrsubstringWithRange:range];

NSScanner* scanner = [NSScannerscannerWithString:hexStr];

unsignedintintValue;

[scannerscanHexInt:&intValue];

[dataappendBytes:&intValuelength:1];

}

returndata;

}


2 和0X5A異或

-(NSData*)yihuo0X5A:(NSMutableData*)dataresult

{

Byte*byte1 = (unsignedchar*)[dataresultbytes];

Bytesum =0x5A;

for(inti =0; i

{

byte1[i]^=sum;

}

NSData*data1 = [[NSDataalloc]initWithBytes:byte1length:dataresult.length];

NSString*string = [[NSStringalloc]initWithBytes:byte1length:dataresult.lengthencoding:NSUTF8StringEncoding];

returndata1;

}

因?yàn)樵谑撬{(lán)牙開發(fā)所以經(jīng)常要對data進(jìn)行拼接所以傳入用可變的data

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 嘟噥嘟噥:最近接到一個(gè)任務(wù):在客戶端動(dòng)態(tài)生成RSA密鑰對,然后向服務(wù)器發(fā)送這個(gè)密鑰對中的公鑰字符串,由服務(wù)器進(jìn)行公...
    TimmyR閱讀 8,353評(píng)論 19 21
  • 我對白頭發(fā)特別的敏感,當(dāng)然主要是針對長在我自己腦袋上的白發(fā)。 今天早上洗完頭發(fā),在鏡子里就發(fā)現(xiàn)了一顆白得耀眼的頭發(fā)...
    Kitekiss閱讀 731評(píng)論 0 2
  • 昨天晚上做了兩次夢,前半段各種光怪陸離,后半段各種發(fā)泄咆哮…… 還有一點(diǎn)就是:夢到離婚了…… 我想這總算是一次讓我...
    汀芷閱讀 150評(píng)論 0 1
  • 2017年6月13日-6月19日 29周 我現(xiàn)在的任務(wù)就是快快長大,多多吸收增加體重。呆在娘親肚子里暖暖的,我要好...
    colorfulmood閱讀 279評(píng)論 0 0
  • 淑芬又開始眉頭緊蹙,心里波瀾起伏。陽光從玻璃窗里透進(jìn)來,懶懶地照在淑芬臉上,側(cè)臉的影子美的令人咋舌。 淑芬很安靜,...
    曼箬漓閱讀 376評(píng)論 0 10

友情鏈接更多精彩內(nèi)容