OC IOS 如何將BCD碼轉換爲IOS 的ACSII碼

作者:朱克鋒

郵箱:[email protected]

轉載請註明出處:http://blog.csdn.net/linux_zkf


NSString* ASCIIConvertFromBCD(NSString *bcdString)

{

    int len = bcdString.length;

    char PDUpack[len/2+1], *PDUStr;

    bzero(PDUpack, len/2+1);


    PDUStr = (char *)[bcdString cStringUsingEncoding:NSUTF8StringEncoding];

for (int i=0; i <len; i+=2) {

char tempchar;

        tempchar = PDUStr[i];

if ((tempchar <='9') && (tempchar >= '0')) {

tempchar = tempchar & 0x0f;

}

else {

tempchar = (tempchar & 0x0f) + 9;

}

PDUpack[i/2] = tempchar;

tempchar = PDUStr[i+1];

if ((tempchar <= '9') && (tempchar >='0')) {

tempchar = tempchar & 0x0f;

}

else {

tempchar = (tempchar & 0x0f) + 9;

}

        PDUpack[i/2] = ((PDUpack[i/2] << 4 ) & 0xf0) + tempchar;

}

    

    NSString* retString = [[NSString alloc] initWithCString:PDUpack encoding:NSUTF8StringEncoding];

    return retString;

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章