iOS 开发之 16进制转换

来源:互联网 发布:卖图片知乎 编辑:程序博客网 时间:2024/06/01 14:12

方法一:

IOS 十进制转十六进制

NSString *hexString = [NSString stringWithFormat:@"%@",[[NSString alloc] initWithFormat:@"%1x",整形参数]];


方法二:

// 16进制转换  

- (void)transPassToHex{

    

   pwdToHex = @"";

    int length = [loginBookPassword length];

    for(int i = 0; i < length; i++){

        NSRange range = NSMakeRange(i, 1);

        NSString * str = [loginBookPassword substringWithRange:range];

        // 转换位ascii码整数

        int asciiCode = [str characterAtIndex:0];

        [self transAsciiToHex:asciiCode];

    }

    

    //BOL_HexPassword = [[NSString alloc]initWithString:tranBuffer];    

    NSLog(@"pwdToHex===%@",pwdToHex);

}

- (void)transAsciiToHex:(int) asciiCode{

        int n = asciiCode / 16;

    int e = asciiCode % 16;

    

    if (n > 16) {

        [self transAsciiToHex : n];

    }else{

        if (n >= 10) {

            [self transToEn: n];

        }else if(n > 0){

            pwdToHex = [pwdToHex stringByAppendingFormat:@"%d",n];

        }

    }

    

    if (e >= 10) {

        [self transToEn: e];

    }else{

        pwdToHex = [pwdToHex stringByAppendingFormat:@"%d",e];

    }

}


- (void)transToEn:(int) e{

    switch (e) {

        case 10:

            pwdToHex = [pwdToHex stringByAppendingString:@"A"];

            break;

            

        case 11:

            pwdToHex = [pwdToHex stringByAppendingString:@"B"];

            break;

            

        case 12:

            pwdToHex = [pwdToHex stringByAppendingString:@"C"];

            break;

            

        case 13:

            pwdToHex = [pwdToHex stringByAppendingString:@"D"];

            break;

            

        case 14:

            pwdToHex = [pwdToHex stringByAppendingString:@"E"];

            break;

            

        case 15:

            pwdToHex = [pwdToHex stringByAppendingString:@"F"];

            break;

            

        default:

            break;

    }

}


0 0
原创粉丝点击